进程和线程
- 进程:是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。(简单理解:正在操作系统中运行的一个程序)
- 线程:是线程的一个执行单位,一个线程就是进程中一个单一顺序的控制流,进程的一个执行分支。
- 主线程:JVM启动的时候回创建一个主线程,该主线程负责执行main方法。主线程就是运行main方法的线程。
- 子线程:A线程中创建了B线程,B线程就是A线程的子线程。
线程的创建与启动
- 创建一个线程就是创建一个Thread类(子类)的对象实例。
- Thread类两个常用构造方法:Thread()和Thread(Runnable),前者定义Thread类的子类,后者顶一个Runnable接口的实现类。
线程的生命周期
- 线程的生命周期是线程对象的生老病死。
- 线程生命周期可以通过fetState()方法获得,线程的状态是Thread.State枚举类型定义的
- 线程几种状态:
- NEW(新建)
- RUNNABLE(可运行)
- BLOCKED(阻塞)
- WAITING(等待)
- TIMED_WAITING:与WAITING类似,区别在于处于该状态的线程不会无限的等待,如果线程没有在指定时间范围内完成期望的操作,该线程自动转换为RUNNABLE
- TERMINATED(终止)
![]()
多线程的优势与问题
- 优势
- 提高系统吞吐率
- 提高响应
- 充分利用多核处理器资源
- 风险
- 线程安全
- 线程活性:
- 死锁
- 锁死
- 活锁
- 饥饿
- 上下文切换
- 可靠性。
posted @
2021-09-20 23:07
云鸽
阅读(
38)
评论()
收藏
举报