我唯一理解的是
...
那么差异是什么?
答案 0 :(得分:5)
通常,关键区域是如果存在两个单独的执行线程,则会发生竞争条件或一些其他不良影响的地方。信号量是防止两个线程在同一时间点处于关键区域的一种方法。
答案 1 :(得分:2)
GUARD一次只允许1个线程进入关键区域,而信号量可以允许n个线程(指定n)同时进入关键区域。
答案 2 :(得分:1)
当一个进程执行操作共享数据(或资源)的代码时,我们说该进程位于其关键部分(CS)(对于该共享数据) 和信号量是用作标志的非负整数变量 如果资源是免费的,则发出信号
答案 3 :(得分:0)
“关键区域”有两种解释:
如果两个线程同时执行,将产生未定义结果的代码区域。
与除当前线程之外的所有执行程序隔离的代码区域。一个例子是中断处理程序。这些区域通常被称为“关键部分”。在Intel CPU上,您可以使用CLI / STI说明开始/结束关键部分。