一、利用信号量实现进程互斥
为使多个进程互斥的访问某种资源
将互斥的信号量mutex设初始值为资源的个数
二、利用信号量实现前驱关系
信号量初值设置为0
三、利用记录型信号量实现同步
题目: pA,pB两进程因合作完成一项任务而共用一个变量x。进程 pB将结果送入x;进程pA将x的结果打印。
四、经典进程的同步问题
1.生产者消费者问题
①记录型信号量: 在每个程序中的多个wait操作顺序不能颠倒。应先执行对资源信号量(empty、full)的wait操作,在执行对互斥信号(mutex)的wait操作,否则可能引起进程死锁。
②AND型信号量:Swait(empty,mutex)同时申请empty和mutex信号量。