Thread Life Cycle

Thread 生命周期

在使用多线程时,生命周期是非常重要的,下图展示了Thread运行的状态图

threadLifeCycle.png

New Thread

使用new创建新的Thread对象时,线程状态为 New Thread,此时线程不活动,是Java的内部状态

Runnable

在Thread对象上调用start()时,状态变为Runnable。控件赋予Thread调度程序以完成执行。是否立即运行线程或运行前将其保留在可运行的线程池中,取决于线程调度程序的OS。

Running

线程正在执行时,状态为Running,线程调度程序从可运行的线程池中选择一个线程,并将状态改为Running,CPU执行线程,线程状态可改为Runnable、Dead或Blocked。
运行状态取决于时间切片、完成run()或等待资源。

阻塞、等待

线程可以等待其他线程使用线程连接完成,等待待使用资源。若线程等待状态结束,则变为Runnable,且会被移回可运行的线程池。

DEAD

若线程执行完成,则状态变为Dead,且认为它不存在。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 10,576评论 0 23
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 8,150评论 1 18
  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 7,245评论 1 15
  • 该文章转自:http://blog.csdn.net/evankaka/article/details/44153...
    加来依蓝阅读 12,092评论 3 87
  • 知识点:一. 什么是线程: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多...
    木有鱼丸啦阅读 3,853评论 0 0

友情链接更多精彩内容