线程基础知识

Posted 架构师肖邦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程基础知识相关的知识,希望对你有一定的参考价值。

一、线程是什么?

  程序执行流的最小单元,也叫轻量级进程

二、线程的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)

       线程执行完成或线程中断

 

以上是关于线程基础知识的主要内容,如果未能解决你的问题,请参考以下文章

线程基础知识系列(四)线程的同步2 线程通信和Condition变量

多线程Java多线程学习笔记 | 多线程基础知识

线程基础知识系列(三)线程的同步

IOS 多线程-线程基础知识

并发编程线程基础知识:守护线程

并发编程线程基础知识:守护线程