线程需要重点掌握的部分
目录
线程的状态及流转
创建线程的方式
多线程的应用
线程的状态及流转
Java中在Thread类里有一个枚举Enum类明确规定了Java线程的六种状态
- 创建线程对象 --> 新建状态 (NEW)
- 调用start方法 --> 就绪状态(Runnable),就绪状态如果抢到CPU的执行权则变为运行(但在Java中状态表示依然是就绪状态Runnable)
- (从运行中)遇到无法获取锁对象时 --> 阻塞状态(Blocked)
- (从运行中)遇到wait方法时 --> 等待状态(Waiting)
- (从运行中)遇到sleep方法时 --> 计时等待状态(Timed_Waiting)
- 本身的 Run 方法执行完毕后 --> 结束状态(Terminated)

创建线程的方式
- 继承Thread类 /匿名内部类继承Thread
具体创建过程


- 实现Runnable接口/匿名内部类实现Runable接口
具体创建过程


- 匿名内部类实现Callable接口/实现Callable接口结合FutureTask,适用于执行有返回值的任务
具体创建过程


- 通过线程池创建线程
具体创建过程

- 通过lambda表达式创建线程
具体创建过程

多线程的应用
- 软件中的耗时操作:
-
- 拷贝、迁移大文件
- 加载大量的资源文件
- 所有的聊天软件
- 所有的后台服务器
