线程的生命周期和触发的机制

java的线程有6种状态

1.新建状态:new出线程,但是没有执行start方法。
2.运行状态:就绪和运行中统称为运行状态。
3.等待状态:即WAITING,运行中的线程调用sleep(),wait(),join(),LockSupport.park,等待状态的线程可以使用notify,notifyall,LockSupport.unpart唤醒。
4.计时等待:即TIME_WAITING,运行中的线程调用sleep(long),wait(long),join(long),LockSupport.parkUntil(xx),计时等待的线程可以使用notify,notifyall,LockSupport.unpart唤醒。
5.阻塞状态:即BLOCKED,相当于锁阻塞的情况下进入synchronized代码块。
6.终止状态:表示线程运行结束。

操作系统的线程生命周期

1.new:new出线程,但是没有执行start方法。
2.ready:表示线程已经创建,正在等待系统调度分配cpu的使用权。
3.running:表示线程获得了cpu使用权,正在调度。
4.waiting:表示线程等待(或者说挂起),让出cpu资源给其他线程使用。
5.terminated:线程执行结束或者是异常退出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。