目录
二、第二章——【线程】
1、线程的概念
线程(Thread) |
进程(Process) |
|
概念 |
程序执行的最小单位,是进程中的一个执行路径 |
正在执行的程序实例,拥有独立的内存空间和资源 |
区别 |
共享同一进程的地址空间和资源 |
拥有独立的地址空间和资源 |
轻量级,创建、销毁线程的开销较小 |
重量级,创建、销毁进程的开销较大 |
|
线程之间切换的开销较小 |
进程之间切换的开销较大 |
|
优点 |
资源共享,通信效率高 |
隔离性好,一个进程崩溃不会影响其他进程 |
并发性高,能充分利用多核处理器的计算能力 |
可以充分利用多台机器的计算能力,实现分布式计算 |
|
缺点 |
线程之间共享数据容易引发竞争条件 |
上下文切换开销大 |
错误可能会影响整个进程 |
资源占用较多 |
|
应用场景 |
并发处理、提高程序性能 |
多任务处理、系统级任务、分布式计算、容器化应用等 |
2、线程的属性
3、线程的实现方式
(1)最简单的线程实现(用户级线程)
用一个【while循环】+【if判断】实现
(2)内核级线程
(3)内核+用户(一对一、多对一、多对多)
(4)总结
5、线程的转换(状态转换)
6、线程的参数指标
7、各线程的缺点(用户线程、内核线程、轻量级进程)
今天,就用来放松,但是放松是为了后面更好的学习,加油啊!