线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

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

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
庞轩px6 天前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
长谷深风1116 天前
线程与进程:高效并发编程的核心奥秘
线程·进程·juc·并发与并行·上下文切换(性能影响因素)·多线程(应用重点)
Lucis__7 天前
Linux系统收官篇:线程学习的一些心得总结
linux·学习·线程
艾莉丝努力练剑11 天前
【Linux线程】Linux系统多线程(一):线程概念
java·linux·运维·服务器·开发语言·学习·线程
czhc114007566313 天前
winform 330 跨线程 异步
wpf·线程·winform
庞轩px18 天前
ThreadLocal 源码分析与内存泄漏问题
java·jvm·线程·threadlocal·内存泄露·key-value
夏乌_Wx18 天前
Linux 多线程编程详解:从基础概念到同步机制
linux·操作系统·线程·线程同步
Irissgwe19 天前
线程概念与控制
linux·开发语言·c++·线程
wuchen10041 个月前
网狐的两种异步处理机制的理解
线程·异步·队列·网狐
柏木乃一1 个月前
Linux线程(8)基于单例模式的线程池
linux·运维·服务器·c++·单例模式·操作系统·线程