线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

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

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
Trouvaille ~5 小时前
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
linux·运维·服务器·c++·算法·线程·互斥锁
海市公约6 小时前
Python 多任务编程全解:进程、线程与协程从入门到实战
线程·进程·协程·python 多任务编程·协程异步 io·python 爬虫实战·python 并发实战
linweidong17 小时前
虎牙C++面试题及参考答案(上)
stl·vector·线程·内存管理·c++20·c++面试·c++调用
添砖java‘’1 天前
线程的互斥与同步
linux·c++·操作系统·线程·信息与通信
C雨后彩虹2 天前
Java 并发程序性能优化:思路、方法与实践
java·线程·多线程·并发
Trouvaille ~5 天前
【Linux】线程概念与控制(一):线程本质与虚拟地址空间
linux·运维·服务器·c++·线程·虚拟地址空间·pcb
小楼v8 天前
常见的java线程并发安全问题八股
java·后端·线程·并发安全
小楼v12 天前
常见的Java线程八股
java·后端·线程
yueqc114 天前
Android 线程梳理
android·线程
无小道15 天前
OS中的线程
linux·线程·进程·os·线程库·用户级线程库·线程使用