java面试题网

普通会员

257

帖子

9

回复

131

积分

楼主
发表于 2018-03-21 18:48:35 | 查看: 687| 回复: 1

   (1)新建(new):当一个线程处于新建状态时,它仅仅是一个空的线程对象,系统不为它分配资源。Tread t = new Tread(new Runner());

   (2)就绪(Runable):此时线程处在随时可以运行的状态,在随后的任意时刻,都可能进入运行状态。t.star( );

   (3)运行(Running):处于这个状态的线程占用CPU,执行程序代码。

   (4)阻塞(Blocked):阻塞状态是指线程因为某些原因放弃CPU,暂时停止运行,直到线程重新进入就绪状态。wait、sleep、同步锁被占用;

   (5)死亡(Dead):当线程退出run()方法时,就进入死亡状态,该线程生命周期结束。可能正常执行完run()方法退出,也可能是遇到异常。



普通会员

257

帖子

9

回复

131

积分
沙发
发表于 2018-11-01 17:13:31

线程的几种可用状态

线程可以处于以下几种状态:

  • 就绪(Runnable):线程准备运行,不一定立马就能开始执行。

  • 运行中(Running):程序正在执行线程的代码。

  • 等待中(Waiting):线程处于阻塞的状态,等待外部的处理结束。

  • 睡眠中(Sleeping):线程被强制睡眠。

  • I/O阻塞(Blocked on I/O):等待I/O操作完成。

  • 同步阻塞(Blocked on Synchronization):等待获取锁。

  • 死亡(Dead):线程完成了执行。

您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018