线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

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

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
进击的荆棘3 天前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
进击的荆棘6 天前
Linux系统——线程概念与控制之线程封装
linux·运维·服务器·线程
lijie23515 天前
第59天 线程概念
线程
蘑菇小白17 天前
Linux多线程开发
linux·开发语言·线程
沫璃染墨20 天前
《Qt从零入门系列(十五):Qt线程安全与锁机制详解——从QMutex到RAII与读写锁实战》
开发语言·c++·qt·安全·交互·线程·qt6.3
MicrosoftCloud25 天前
操作系统 02|进程到底被谁推着走?
操作系统·线程·进程·pcb·408·进程状态·调度
沫璃染墨1 个月前
《Qt从零入门系列(十四):QThread多线程详解——从线程创建到客户端阻塞处理》
开发语言·c++·笔记·qt·ui·交互·线程
Liuqy-051 个月前
线程的互斥与同步机制——互斥锁、条件变量、无名信号量
linux·开发语言·线程·进程·条件变量·同步·互斥
Pniubi1 个月前
区分Java创建线程池、多线程
java·线程·线程池·多线程·并发
青柠之夏cc1 个月前
Python Java PHP底层对比:内存并发性能全解析
开发语言·python·线程