【无标题】

线程

线程:cpu上的基本执行单位(进程内的一个代码片段就可以被创建为一个线程)(线程自己不拥有系统资源,全靠进程申请

进程:资源分配的基本单位

上一章讲了进程,本章讲线程是为了方便节省时间

一、为什么有线程:

引入目的:为了减少程序在并发执行时所付出的时空开销,使得OS具有更好的并发性。

1.性能:操作系通开销大 Unix的fork轻型进程

2.应用:有并行执行的需求

3.硬件:现在都是多核处理器,加速程序运行

二、线程有哪些基本状态

1.就绪状态、运行状态,等待态,等等

​ 运行状态,表示线程已获得处理机而正在运行;
 就绪状态,指线程已具备了各种执行条件,只须再获得CPU便可立即执行;
​ 等待状态,指线程在执行中因某事件受阻而处于暂停状态,例如,当一个线程执行从键盘读入数据的系统调用时,该线程就被阻塞。

三、线程有哪些基本类型

两种

用户级线程:

不需要操作系统的干预,由用户级的线程库函数完成线程的管理,包括进程的创建、终止、同步和调度。

内核级线程:

操作系统内核完成线程的创建、终止和管理,内核级线程必须在内核态才能完成。
轻量级线程(内核级支持的用户级线程):

传统进程(单线程):只有一个线程:主线程

多线程:一个进程有多个线程,每个线程都有自己对应的堆和栈,但是共享代码和数据、文件

如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aS9fmzo-1665424879902)(C:\Users\Mark\AppData\Roaming\Typora\typora-user-images\image-20221005005139748.png)]

四、线程和进程之间的区别和联系是什么

五个方面

1.代码 进程包含线程 线程是进程中的一段代码块

2.资源 进程是资源分配的基本单位 线程不拥有资源,共享使用的资源

3.调度 同一进程中的线程切换不会引起进程切换,同一调度过程中进程的切换会引起线程切换 线程是基本调度单位

4.切换 进程重量级上下文切换代价很大 线程轻量级切换,代价小

5.生命期 进程撤销会导致所有的线程被撤销 线程撤销不会导致进程被撤销

每个进程中都有唯一的主线程,且只能有一个,主线程和进程是相互依存的关系,主线程结束进程也会结束。

线程的优点:

1.响应性比进程高,可以同时向一个web服务器 加载对应的html和页面中的图片

2.资源共享 线程共享进程资源

3.经济性高:线程创建、上下文切换比进程快

4.MP体系结构的运用:一个进程中的线程在不同处理器上并行运行

线程的结构:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXVKaMTp-1665424879903)(C:\Users\Mark\AppData\Roaming\Typora\typora-user-images\image-20221005004808455.png)]

实例如图:进程是由多个线程组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wv5blgUZ-1665424879903)(C:\Users\Mark\AppData\Roaming\Typora\typora-user-images\image-20221005004834230.png)]

五、操作系统如何管理线程的

线程控制块TCB

系统为每个线程配置了一个线程控制块TCB,将所有用于控制和管理线程的信息记录在线程控制块中。

线程创建: 应用程序在启动时,通常仅有一个线程在执行,人们把线程称为“初始化线程”,它的主要功能是用于创建新线程

线程终止:当一个线程完成了自己的任务(工作)后,或是线程在运行中出现异常情况而须被强行终止时,由终止线程通过调用相应的函数(或系统调用)对它执行终止操作。

六、线程的实现方式是怎样的

*用户线程:在用户空间实现*

*POSIX Pthreads,Mach C-threads,Solars threads*

*内核线程:在内核中实现*

*Windows、Solaris、Linux*

*轻量级进程:在内核中实现,支持用户线程*

*Solaris (LightWeight Process)*

内核支持线程的实现

用户级线程的实现

(1)运行时系统”,实质上是用于管理和控制线程的函数(过程)的集合,其中包括用于创建和撤消线程的函数、线程同步和通信的函数,以及实现线程调度的函数等。

内核控制线程
 (2) 这种线程又称为轻型进程LWP(Light Weight Process)。每一个进程都可拥有多个LWP,同用户级线程一样,每个LWP都有自己的数据结构(如TCB),其中包括线程标识符、优先级、状态,另外还有栈和局部存储区等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值