Onk*_*jan 4 operating-system semaphore ipc
为什么在使用简单变量实现相同功能时使用二进制信号量?
Wil*_*ung 6
因为信号量不是一个简单的变量,所以它是一个比它更大的构造.
具体来说,使用计数信号量(二进制信号量实际上是1的计数),可以阻止尝试将信号量增加到其最大值以上的任何进程/线程.
信号量还有额外的功能,它们的状态是"原子地"改变的,这意味着底层存储器被逻辑包围,以确保CPU缓存等被刷新,并且当值改变时,它被改为"每个人" .这在现代多核处理器上尤为重要.
当您尝试防止共享资源过度使用时,信号量适合使用.二进制信号量非常适合一次只能由一个进程/线程使用的资源.
归档时间:
14 年,11 月 前
查看次数:
1954 次
最近记录:
11 年,8 月 前