jse-1.1.2 线程状态 【信息】 【思考】 【行动/反馈】 【钩子】 【出处】 【时间】

线程状态

【信息】

线程状态

6个状态定义:java.lang.Thread.State

  • New:尚未启动的线程
  • Runnable:可运行的线程,等待CPU调度
  • Blocked:线程阻塞等待监视器锁定的线程状态,synchronized同步
  • Waiting:等待线程。不带超时的方式:Object.ward、Thread.join、LockSupport.park
  • Timed Waiting:具有制定等待时间的等待线程的线程状态。带超时的方式:Thread.sleep、Object.wair、Thread.join、LockSupport.parkNanos、LockSupport.parkUtil
  • Terminated:终止线程的状态。线程正常完成执行或出现异常。

【思考】

线程等待过程中会不会占用cup和内存?消耗资源?

【行动/反馈】

查上面的问题

1
2
3
必须的,代码中就是一坨粑粑,也要占内存,不管是代码内存,还是堆栈内存等。
线程SLEEP后,如果不占用内存,怎么能恢复之前的状态?就好比人睡觉,就不消耗能量了?
线程占用内存会有:代码内存,堆栈内存,堆内存

【钩子】

线程状态

【出处】

Java高级开发工程师-线程状态

【时间】

2018-12-23


若涉及版权问题,请及时联系作者删除。

更多精彩文章请关注