Java多线程的五种状态

新生状态:线程对象已经创建好,但是还未调用 start 方法

就绪状态:线程在调用 start 方法以后,就进入了可运行状态(就绪状态)

运行状态:当可运行状态的线程获得线程调度器的调度之后就进入了可运行状态

阻塞状态:当运行状态的线程遇到了阻塞时间(join/sleep/wait) 就进入了阻塞状态,阻塞状态的线程在阻塞事件结束之后重新进入可运行状态

死亡状态:线程在线程体执行结束之后进入死亡状态.

 

与线程控制有关的方法

方法

说明

start()

 新建的线程进入Runnable状态

run()

 线程进入Running 状态

wait()

线程进入等待状态,等待被notify,这是一个对象方法,而不是线程方法

notify()/notifyAll()

唤醒其他的线程,这是一个对象方法,而不是线程方法

yield()

暂停当前正在执行的线程对象,并执行其他线程。

getPriority()/setPriority()

获得/设置线程优先级

sleep()

线程睡眠指定的一段时间

join()

调用这个方法的主线程,会等待加入的子线程完成