Java-Basic-7-多线程
线程状态与优先级
一图胜千言。

其中,阻塞状态分为三种:
- 等待阻塞:运行状态中的线程执行 wait() 方法,使线程进入到等待阻塞状态。
- 同步阻塞:线程在获取
synchronized
同步锁失败(因为同步锁被其他线程占用)。 - 其他阻塞:通过调用线程的
sleep()
或join()
发出了 I/O 请求时,线程就会进入到阻塞状态。当sleep() 状态超时,join() 等待线程终止或超时,或者 I/O 处理完毕,线程重新转入就绪状态。
线程优先级是整数:1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。一般默认分配 NORM_PRIORITY(5)。优先级并不完全代表调度顺序。总不能把线程直接饿死吧。
创建线程
三种方法:
- 通过实现 Runnable 接口;
- 通过继承 Thread 类本身;(本质上也是实现了
Runable
接口的一个实例) - 通过 Callable 和 Future 创建线程。