操作系统-线程引入

Posted yb38156

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统-线程引入相关的知识,希望对你有一定的参考价值。

引入:

1、每个服务进程都有自己的独立的地址空间,不能共享信息 ,无并发,阻塞系统调用

2、从时间和空间开销上讲,进程相关的操作开销大,线程的开销小,并且线程之间相互通信无需调用内核,统一进程内的线程共享内存和文件

3、性能考虑:一个进程中有多个线程的话可以支持多个任务同时进行

概念:

进程中的一个运行实体,是CPU的调度单位,有时将线程称为轻量级进程

前面讲了,进程的两个基本属性:资源的拥有者,CPU调度单位,线程继承了后者

属性:

标识符ID

状态和状态转换

不运行时需要保存上下文(即每个线程有上下文环境,他们是各种寄存器)

自己的栈和栈指针

共享所在进程的地址空间和资源

可以创建、撤销另一个线程(程序开始是以一个单线程进程方式运行,即有主线程创建其他线程)

实现:

1、用户级线程Unix

2、核心级线程Windows

(1) 内核管理所有线程管理,并向应用程序提供API接口

(2) 内核维护进程和线程上下文

(3) 线程的切换需要内核支持

(4)以线程为基础进行调度

3、混合模型

 

以上是关于操作系统-线程引入的主要内容,如果未能解决你的问题,请参考以下文章

C 语言字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | 引入线程安全概念 )

操作系统 王道考研2019 第二章:进程管理 -- 线程概念多线程模型

操作系统——进程与线程

Java 多线程详解------概念的引入

python - 线程

Linux-线程引入