线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

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

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
再睡一夏就好21 小时前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程
添砖java‘’2 天前
Linux线程控制全解析
linux·c++·线程
ベadvance courageouslyミ3 天前
线程控制(同步相关)
线程·同步
CQ_YM4 天前
Linux线程控制
linux·c语言·开发语言·线程
秋深枫叶红4 天前
嵌入式第三十七篇——linux系统编程——线程控制
linux·学习·线程·系统编程
heartbeat..7 天前
深入理解 Redisson:分布式锁原理、特性与生产级应用(Java 版)
java·分布式·线程·redisson·
cxh_陈9 天前
线程的状态,以及和锁有什么关系
java·线程·线程的状态·线程和锁
snow123f11 天前
Lambda 表达式怎么用
java·开发语言·线程
heartbeat..12 天前
从 0 到 1 学 Java 多线程:线程是什么?怎么用?如何保证安全?
java·开发语言·线程
兵哥工控13 天前
MFC 对话框线程简单完整实例
c++·mfc·线程·afxbeginthread