线程相关

本文介绍了操作系统中进程与线程的概念及区别,详细解释了引入线程的目的,并探讨了线程间的同步与通信机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果说在操作系统中引入进程的目的,是为了使多个程序能并发执行,以提高资源的利用率和系统吞吐量,那么,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使操作系统具有更好的并发性。

1.线程的基本概念
线程是“进程”中某个单一顺序的控制流,也被称为轻量进程。

2.线程与进程的比较

比较方面进程线程
资源分配进程是资源分配和拥有的基本单位线程自己基本不拥有系统资源,但它可以访问所属进程所拥有的全部资源
调度在没有引入线程的操作系统中,进程是独立调度和分派的基本单位在引入线程后的操作系统中,线程是独立调度和分配的基本单位
地址空间进程的地址空间之间相互独立同一进程的各线程间共享进程的地址空间

3.线程间的同步与通信

(1)互斥锁。
互斥是一种比较简单的,用于实现进程间对资源互斥访问的机制。

(2)条件变量。
每一个条件变量通常都与一个互斥锁一起使用,亦即在创建一个互斥锁时便联系着一个条件变量。单纯的互斥锁用于短期锁定,主要用来保证对临界区的互斥进入。而条件变量则用于线程的长期等待,直至所等待的资源成为可用的资源。

(3)信号量机制

a.私有信号量。 当某个线程需要利用信号量来实现同一个进程中各线程之间的同步时,可调用创建信号量的命令来创建一私用信号量,其数据结构存放在应用程序的地址空间中。

b.公用信号量。 公用信号量是为了实现不同进程间或不同进程中各线程之间的同步而设置的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值