关于多线程状态的理解
- 在不同的书籍中,对多线程的状态划分是不一样的,取决于每个人不同的理解。在这里我把多线程的状态分为五个部分进行讲解。
1.被创建状态:也就是初始化的状态,被程序调用start()方法后,线程就被启动。
2.运行状态 :此时cpu会执行一个线程,而这个线程在此时就可以被看作具备着CPU的执行资格和使用着CPU的执行权。
3.阻塞状态:此状态下的线程就是在CPU的队列中进行排队,它现在只有CPU的执行资格,而没有执行权,只有进入到运行状态下才同时拥有执行权。
4.冻结状态:也被就是睡眠状态,在此状态下的线程没有CPU的执行资格也没有CPU的执行权,只有当此线程从睡眠中醒来才有可能具备着执行资格或执行权。这主要取决于它醒来后是运行状态还是阻塞状态。
5.消亡状态:此状态说明线程中的任务已经执行完毕,即run()方法结束,释放资源。