线程六种状态转换
2023-02-04 10:20:48 0 举报
对线程六种状态转换的个人理解
作者其他创作
大纲/内容
新建状态new
没有争取到锁对象
timedwaiting及时等待
获得锁对象后调用wait方法
调用start方法后
没有与操作系统底层的线程真正的关联,仅仅是个java对象,此时这个线程不会被操作系统分配给cpu执行代码
可运行状态runnable
终止状态teminated
1.sleep时间到2.1wait时间到,并获取到锁2.2wait时间未到,其他线程调用notify并获取到锁
获取到了锁对象
waiting无限等待
其他线程调用notify,但是没有抢到锁资源
1.sleep(参数)2.获得锁对象之后调用wait(参数)
其他线程调用notify,并获取到锁对象
锁阻塞Blocked
代码执行完毕
1.wait时间到,没有获取到锁2.wait时间未到,其他线程调用notify,没有获取到锁
线程进入锁阻塞状态后,当锁被释放,该线程进入可运行去争夺锁资源
0 条评论
下一页