线程需要重点掌握的部分

目录

线程的状态及流转

创建线程的方式

多线程的应用


线程的状态及流转

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

具体创建过程

多线程的应用

  • 软件中的耗时操作:
    • 拷贝、迁移大文件
    • 加载大量的资源文件
  • 所有的聊天软件
  • 所有的后台服务器
相关推荐
故事不长丨2 天前
C#线程编程全解析:从基础应用到高级实践
c#·线程·多线程·thread·线程同步·异步编程·线程锁
ベadvance courageouslyミ3 天前
项目一(线程邮箱)
c语言·线程·makefile·进程间通信·线程邮箱
ベadvance courageouslyミ3 天前
简易在线商城制作
http·线程·在线商城·界面跳转
我在人间贩卖青春7 天前
线程的创建
线程·线程创建
superman超哥11 天前
Rust 并发性能调优:线程、异步与无锁的深度优化
开发语言·后端·rust·线程·异步·无锁·rust并发性能
橘子真甜~14 天前
Reids命令原理与应用3 - Redis 主线程,辅助线程与存储原理
网络·数据库·redis·缓存·线程·数据类型·存储结构
天然玩家14 天前
【计算机技术】线程/协程/纤程/虚拟线程
线程·纤程·协程·虚拟线程
武藤一雄16 天前
C# 中线程安全都有哪些
后端·安全·微软·c#·.net·.netcore·线程
程序员龙一17 天前
进程、线程、协程通俗讲解与对比
c++·线程·进程·协程
ComputerInBook18 天前
C++ 标准提供的 thread (线程)之 join() 函数示例(windows平台)
c++·线程·join函数