我读过一些类似的问题,但那里描述的情况要复杂一些。
我在堆和两个线程中有一个bool b初始化。false我确实理解boolsare 的操作not atomic,但请阅读问题直到最后。
第一个线程只能设置b = true一次,并且不做任何其他事情。第二个线程b在一个循环中检查,如果它true做了一些动作。
我是否需要使用一些同步机制(如互斥锁)来保护b?如果我不这样做会发生什么?当ints我同时读写时,我显然可以得到任意值。但是有了boolsjust trueandfalse我不介意一次得到false而不是true. 有潜力SIGSEGV吗?