gpt4 book ai didi

algorithm - 兰波特互斥

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:25 24 4
gpt4 key购买 nike

鉴于 lamport 的快速互斥算法,我试图理解为什么等待在那里。

算法:

start: b[i] = true
x = i
if y != 0 then b[i] = false
await y = 0
goto start
fi
y = i
if x != i then b[i] = false
for j = 1 to n do await b[j] = false od
if y != i then await y = 0
goto start
fi
fi
critical section
y = 0
b[i] = false

我们不能同时删除它们吗?

最佳答案

当其他进程/线程处于临界区时,您想等待(阻塞)而不是自旋(持续执行可用性检查),否则您将占用可在其他地方使用的资源。如果一次只能运行一个线程,那么您将阻止关键部分中的线程在整个时间片内运行,从而导致程序需要更长的时间才能完成。

关于algorithm - 兰波特互斥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172763/

24 4 0