一、信号量
1. 信号量是操作系统提供的一种协调共享资源访问的方法,用信号量表示系统资源的数量。
信号量是一种抽象数据类型,由一个整形(sem)变量和两个原子操作组成。
2. 这两个原子操作分别是
3. 信号量的特性
4. 信号量的实现
二、信号量的使用
1. 信号量分类,可分为两种信号量
两者等价,基于一个可以实现另一个。
2.用信号量实现临界区的互斥访问
每个临界区设置一个信号量,其初值为1。
必须成对使用P()操作和V()操作
3.用信号量实现条件同步
同步:合作的并发进程需要按先后次序执行。例如:一个进程的执行依赖于合作进程的消息或信号。当一个进程没有得到来自合作进程的消息或信号时需阻塞等待,直到消息或信号到达才唤醒。
4. 消费者-生产者问题
有界缓冲区的生产者-消费者问题描述
5. 用信号量解决生产者-消费者问题
问题分析:
用信号量描述每个约束:
实现过程:
原文:https://www.cnblogs.com/cjsword/p/12209302.html