0

在我的一种 C++ 方法中,我必须以这样一种方式执行此操作,即在给定时间只有一个线程访问这段代码。

void SomeMethod()
{
    //critical section starts
    someValue++;
    someVariable = someValue
    //critical section ends
}

谁能指导我实现这一目标的最简单和最好最小(代码明智)的方法是什么?我不想使用Boost Library,也不想为了实现这一点而在我的代码中弄得一团糟。我正在寻找一个标准的 C++ 解决方案,而不是只适用于 Windows 的东西。

4

1 回答 1

0

如果您不想使用 Boost... 您可能对DekkerPetersonLamport 的算法感兴趣。但我不太确定他们的实际实施是否会正常工作。

于 2011-08-06T15:46:14.820 回答