【并发编程】线程生命周期
其他
2020-03-18 15:24:47
阅读次数: 0
状态流转总图
0.新建状态New
- Thread类
- 实现了Runnable接口
- Runnable接口
- Callable接口
- 作为FutureTask构造方法参数使用
- call方法,有返回值,且可以抛出异常
- call方法实际是在Runnable的run方法中被执行
1.就绪状态Runnable
- 调用线程的start()方法
- 不一定会立即运行,可能需要等待CPU分配时间片
2.运行状态Running
- 就绪线程分到CPU时间片,开始执行run()代码。
3.阻塞状态Blocked
4.等待Waiting
- Object.wait()
- Thread.join()
- LockSupport.park()
5.超时等待Timed-Waiting
- 与Waiting状态不同在于不会一直等待,而是等待指定的时间
- Thread.sleep(time)
- Object.wait(long timeout)
- Thread.join(long timeout)
- LockSupport.parkNanos(time)
- LockSupport.parkUntil(time)
6.终结状态Terminated
发布了113 篇原创文章 ·
获赞 102 ·
访问量 1万+
转载自blog.csdn.net/sarafina527/article/details/104945041