我想知道如果我不在以下作家 - 读者情境中锁定枚举变量会发生什么:
enum class Foo {One,Two,Three};
Foo foo = Foo::One;
// Thread A:
wait_for_something();
// no mutex lock
foo= Foo::Two;
// Thread B:
while(foo==Foo::One){
// no mutex lock
do_something();
}
我可以想到do_something
,foo
中间的序列发生了变化。这不是很重要,我想知道这个无锁代码是否还有其他问题?