一、线程的状态
新建状态、就绪状态、阻塞状态、死亡状态。
1、新建状态
新创建一个线程对象。
2、就绪状态
线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行的线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除了CPU之外,其他的运行所需资源都已全部获得。
2.1、就绪状态只是说有资格运行,调度程序没有挑选到你,你就永远是可运行状态。
2.2、调用线程的start()方法,此线程进入就绪状态。
2.3、当前线程sleep()方法结束,其他线程join()结束,等待用户输入完毕,某个线程拿到对象锁,这些线程也将进入就绪状态。
2.4、当前线程时间片用完了,调用当前线程的yeild()方法,当前线程进入就绪方法。
2.5、锁池里的线程拿到对象锁后,进入就绪状态。
3、运行状态
就绪状态的线程获取了CPU,执行程序代码。
3.1、run()方法或main()方法结束后,线程就进入终止状态。
3.2、当线程调用了自身的sleep()方法或其他线程的join()方法,进程让出CPU,然后就会进入阻塞状态(该状态即停止当前线程,但并不释放所占有的资源即调用sleep()方法后,线程不会