写点什么

24《重学 JAVA》-- 多线程(一)

作者:杨鹏Geek
  • 2021 年 12 月 25 日
  • 本文字数:514 字

    阅读完需:约 2 分钟

24《重学JAVA》--多线程(一)

一、多线程简介

Java 给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。

 

二、线程和进程的联系

 

1.进程是系统资源分配最小单位,线程是程序执行最小单位。

 

2. 进程使用独立的数据空间,线程共享进程的数据空间。

 

3. 一个进程中可以有多个线程。

 

三、线程的状态

JAVA 线程有 5 种状态

1. 新建状态:新建状态(New)是通过 new 等方式创建线程对象,它仅仅是一个空的线程对象。

2. 就绪状态:当主线程调用新建线程的 start()方法后,它就进入就绪状态(Runnable)。此时的线程尚未真正开始执行 run()方法,它必须等待 CPU 的调度。

3. 运行状态 CPU 的调度就绪状态的线程,线程进入运行状态(Running),处于运行状态的线程独占 CPU,执行 run()方法。

4. 阻塞状态:因为某种原因运行状态的线程会进入不可运行状态,即阻塞状态(Blocked),处于阻塞状态的线程 JVM 系统不能执行该线程,即使 CPU 空闲,也不能执行该线程。

5.死亡状态:线程退出 run()方法后,就会进入死亡状态(Dead),线程进入死亡状态有可以是正常实现完成 run()方法进入,也可能是由于发生异常而进入的。

发布于: 3 小时前
用户头像

杨鹏Geek

关注

你必须比别人更努力 才能看起来毫不费力! 2019.10.26 加入

码农

评论

发布
暂无评论
24《重学JAVA》--多线程(一)