线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

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表达式创建线程

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
NiKo_W4 小时前
Linux 重定向与Cookie
linux·运维·服务器·前端·网络·线程·协议
liulilittle6 小时前
CPU亲和性深度实践:从基础原理到Intel大小核架构优化
c++·线程·进程·cpu·量化·高频·亲核性
特立独行的猫a2 天前
仓颉编程语言的并发编程:线程模型与使用实践
华为·线程·仓颉·仓颉语言
Han.miracle4 天前
Java的多线程——多线程(3)线程安全
java·开发语言·jvm·学习·安全·线程·多线程
NiKo_W6 天前
Linux UdpSocket的应用
linux·服务器·网络·内核·线程
阿巴~阿巴~7 天前
死锁防范:四大条件与破解之道
linux·服务器·线程·线程安全·死锁
阿巴~阿巴~8 天前
Linux同步机制:POSIX 信号量 与 SystemV信号量 的 对比
linux·服务器·线程·信号量·线程同步·posix·system v
阿巴~阿巴~10 天前
线程互斥:并发编程中的互斥量(Mutex)与RAII风格锁管理机制
linux·线程·pthread·互斥量·线程互斥·线程封装·raii原则
Han.miracle11 天前
Java的多线程——多线程(二)
java·开发语言·线程·多线程