码迷,mamicode.com
首页 > 编程语言 > 详细

线程基础知识(一)

时间:2018-04-03 17:19:54      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:分享   状态   请求   enter   执行   log   原因   dea   span   

一、线程是什么?

  程序执行流的最小单元,被称为轻量级线程

二、线程的5种状态

    技术分享图片

  1、新建(NEW)

新建了一个线程

  2、就绪(RUNNABLE)

调用start方法,处于待命阶段,只要得到军令(获得CPU时间片),立即执行命令(执行run方法)

  3、运行(RUNNING)

拥有CPU时间片这段时间内,执行具体命令

  4、阻塞(BLOCKED)

线程因为某种原因暂时让出了CPU使用权,分成三种情况:

1、锁池-同步阻塞

线程获取同步锁失败,进入锁池。当获得到对象的锁,线程进入就绪状态

2、等待池-等待阻塞

线程调用wait方法,进入等待池。当线程收到notify或notifyAll的消息,线程进入就绪状态

3、其他阻塞

线程调用sleep或join方法或发出了I/O请求时,进入阻塞状态。当sleep完成或join的线程终止或I/O处理完毕时,线程进入就绪状态

  5、死亡(DEAD)

       线程执行完成或线程中断

 

线程基础知识(一)

标签:分享   状态   请求   enter   执行   log   原因   dea   span   

原文地址:https://www.cnblogs.com/sunrisexq/p/8696247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!