gpt4 book ai didi

Test and Set 是否可以在没有硬件支持的情况下用软件实现?

转载 作者:太空狗 更新时间:2023-10-29 17:13:52 25 4
gpt4 key购买 nike

这是用软件编写的测试和设置:

boolean TestAndSet(boolean *target) {
boolean rv = *target;
*target = TRUE;
return rv;
}

do {
while(TestAndSetLock(&lock))
; // do nothing
// critical section
lock = FALSE;
// remainder section
} while(TRUE);

我们能否在不支持硬件级别测试和设置的 CPU 中使用该机制?如果是这样,如何保证原子性?

最佳答案

您可以在没有 TAS/CAS 的机器上使用 Lamport 的“面包店”互斥算法来控制对“原子”( protected )值的访问。

http://www.disi.unige.it/person/DelzannoG/SO1/AA0607/bakery.htm

如果您没有合理限制的“N”个进程,它只会变得复杂。

关于Test and Set 是否可以在没有硬件支持的情况下用软件实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25117263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com