线程的生命周期及其状态转移

本文详细介绍了Java中线程的生命周期,包括创建、就绪、运行、阻塞及终止状态。探讨了创建线程的两种常见方法:继承Thread类与实现Runnable接口,并解释了线程状态转换的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       线程的生命周期是:创建(生成)——就绪状态——运行状态——阻塞状态——终止/死亡状态;

  • 创建新线程的方法:在java中如果要创建线程的话,一般有两种方式:1)继承Thread类;2)实现Runnable接口。
  • 创建线程并new出线程实例之后的“实例对象.start()”,当前线程转入就绪状态;
  • 就绪状态转运行状态:进入就绪状态的线程,在等待CPU的资源分配,在获取到CPU分配的资源时,线程转入运行状态;
  • 在线程运行期间,如执行了耗时的IO操作时,wait(  ),sleep()、suspend()等方法时,线程失去所占用资源,该线程就从运行状态进入阻塞状态。进入阻塞状态的线程,在处理完造成阻塞的事件之后,线程不是直接再运行,而是返回就绪状态,重新排队等待CPU资源的再分配。
  • 线程正常执行完run()函数后,该线程就结束了。如果在线程执行的过程中捕获到错误如:Exception、error,程序抛出异常,线程死亡。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值