JavaSE 学习参考:线程生命周期


Java线程有五种状态:新建,就绪,运行,阻塞,销毁.

新建状态:

在程序中使用new Thread(...)即 使用Thread类构造方法创建了一个Thread类对象后,新的线程对象便处于新建状态。这时,操作系统 (这里是批JVM)为其有了相应的内存空间和资源,处于不可运行状态。

就绪状态:

新建线程对象后,调用Thread类的start()方法可以启动线程(注意不是run方法,直接调用run方法,那仍然在主线程中执行)start()调用后代表线程进入就绪状态,也就是进入CPU调度队列排队,并立即运行。

运行状态:

处于就绪状态的线程被系统调度获得CPU执行机会,线程就进入了运行状态。此时执行的Thread对象的run()方法。run()方法定义了线程的操作和功能。

堵塞状态:

  正在执行的线程在某些特殊情况下(程序自动调用sleep(),suspend(),wait()方法或等待某类资源如打印机,用户输入),这时会让出CPU并暂时中止自己的执行,进入堵塞状态。堵塞时,线程并没有进入队列,只有当引起堵塞的原因被消除后,线程才可以转入就绪状态.

销毁状态:

   线程run()方法执行结束后或调用stop()方法时(不推荐)或,即处于销毁状态。

   注意进行销毁状态的线程并不代表Thread类的对象也要销毁,Thread对象仍然按照JVM管理对象方式去管理对象的生命周期去管理,只有当没有任何其他对象引用时才销毁。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值