2

Java多线程系列之线程状态图

 3 years ago
source link: http://www.androidchina.net/5928.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Java多线程系列之线程状态图 – Android开发中文站
你的位置:Android开发中文站 > Java基础 > Java多线程系列之线程状态图

线程状态图
图片描述
说明:

线程包括以下五种状态

1.新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread hread = new Thread()。

2.就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行。

3.运行状态(Running) : 线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态。

4.阻塞状态(Blocked) : 阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种:

  • (01)等待阻塞 – 通过调用线程的wait()方法,让线程等待某工作的完成。
  • (02) 同步阻塞 – 线程在获取synchronized同步锁失败(即同步锁被其它线程所占用),则JVM会把该线程放入锁池(lock pool)中。
  • (03) 其他阻塞 – 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。

5.死亡状态(Dead) : 线程执行完了或者因异常退出了run()方法,该线程结束生命周期。

转载请注明:Android开发中文站 » Java多线程系列之线程状态图


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK