我有一个计数器变量,它将被多个线程访问,这些线程将递增/递减它。它不应该被多个线程同时更新。
我知道您可以创建一个互斥对象,必须在更改相关变量之前获取该对象。在这种情况下,临界区是不合适的,因为有超过 1 个函数可以更改相关变量。
有没有另一个我可以在不使用互斥锁的情况下做到这一点?使用互斥锁确实会降低性能(请参阅http://www.codeguru.com/forum/showthread.php?t=333192)。我相信在 Java 中,您可以在变量声明中使用一个关键字来完成此操作(是否称为“同步”?),但是在 C++ 中是否有这样的事情呢?
我知道 volatile 不是我要寻找的关键字。
非常感谢。