线程生命周期及状态简介说明

乔欣 Java面经 发布时间:2022-11-11 22:19:32 阅读数:15380 1 并发编程面试题(2023最新版)
下文笔者讲述线程的生命周期及状态简介说明,如下所示
线程状态及线程生命周期简介说明

线程状态

新建(new):
   新创建一个线程对象

可运行(runnable):
   线程对象创建后
    当调用线程对象start()方法
    该线程处于就绪状态
    等待被线程调度选中
    获取cpu的使用权

运行(running):
    可运行状态(runnable)的线程获得cpu时间片(timeslice)
	 执行程序代码
 注
  就绪状态是进入到运行状态的唯一入口
   线程要想进入运行状态执行
   首先必须处于就绪状态中

阻塞(block):
   处于运行状态中的线程由于某种原因
   暂时放弃对CPU的使用权
    停止执行
   此时进入阻塞状态
   直到其再次进入到就绪状态
   才有机会再次被CPU调用以进入到运行状态

阻塞分类

  1.等待阻塞:
     运行状态中的线程执行wait()方法
     JVM会把该线程放入等待队列(waitting queue)中
     使本线程进入到等待阻塞状态
   2. 同步阻塞:
      线程在获取 synchronized 同步锁失败(因为锁被其它线程所占用)
      则JVM会把该线程放入锁池(lock pool)中
      线程会进入同步阻塞状态
   3. 其他阻塞:
       调用线程sleep()或join()或发出I/O请求时
       线程会进入到阻塞状态
        当sleep()状态超时、join()等待线程终止或者超时
		  或I/O处理完毕时,线程重新转入就绪状态
线程生命周期结束的简介说明:
死亡(dead)
线程run()、main()方法执行结束
因异常退出了run()方法
   则该线程结束生命周期
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16681764214865.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者