线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

Java中在Thread类里有一个枚举Enum类明确规定了Java线程的六种状态

  1. 创建线程对象 --> 新建状态 (NEW)
  2. 调用start方法 --> 就绪状态( Runnable ) ,就绪状态 如果抢 到CPU 的执行权 则变为运行(但在Java中状态表示依然是就绪状态Runnable)
  3. (从运行中)遇到无法获取锁对象时 --> 阻塞状态(Blocked)
  4. (从运行中)遇到wait方法时 --> 等待状态(Waiting)
  5. (从运行中)遇到sleep方法时 --> 计时等待状态(Timed_Waiting)
  6. 本身的 Run 方法执行完毕后 --> 结束状态( Terminated )

创建线程的方式

  • 继承Thread类 /匿名内部类继承Thread

具体创建过程

  • 实现Runnable接口/匿名内部类实现Runable接口

具体创建过程

  • 匿名内部类实现Callable接口/实现Callable接口结合FutureTask,适用于执行有返回值的任务

具体创建过程

  • 通过线程池创建线程

具体创建过程

  • 通过lambda表达式创建线程

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
流浪0019 小时前
Linux系统篇43——线程(八) 线程的数据不一致问题,从 ticket-- 的非原子性说起
linux·操作系统·线程·线程安全·锁
流浪0014 天前
Linux系统篇39——线程(四) pthread库的由来和线程的创建与等待
linux·操作系统·线程·pthread库
流浪0014 天前
Linux系统篇42——线程(七) pthread库管理线程的工作流,从创建到回收
linux·操作系统·线程·线程创建到销毁
沫璃染墨5 天前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
en.en..7 天前
条件变量(pthread_cond_t):为什么必须用 while,不能用 if
线程
AIgorithmGEEK13 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid
流浪00114 天前
Linux系统篇36——线程(一) 线程的概念、本质和Linux的实现方式
linux·面试·操作系统·线程
weixin_4407305020 天前
队列QUEUE介绍+类型示例(先进先出、后进先出、优先级高先出、双端进入、生产者+消费者线程)
python·线程·queue
handler0124 天前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
LXMXHJ25 天前
springboot中的线程操作
java·spring boot·后端·线程