1965年,荷兰学者Dijkstra提出了一种卓有成效的实现进程互斥、同步的方法——信号量机制
信号量其实就是一个变量(可以是一个整数,也可以是一个更复杂的变量),可以用信号量来表示系统中某种资源的数量。比如:系统中只有一台打印机,就可以设置一个初值为1的信号量。
P、V操作:
P表示通过,V表示释放
1.整型信号量:
整型信号量与普通的信号量的区别:
对信号量的操作只有:初始化、P操作、V操作
缺点:不满足“让权等待”原则,会发生“忙等”
2.记录型信号量:
在信号量机制中,除了需要一个用于代表资源数目的整型变量value外,还应该增加一个进程链表指针L,用于链接上述的所有等待进程。记录型信号量是由于它采用了记录型的数据结构而得名的。
例题: