当然有问题。
首先test应该声明为voilate。然后由于指令重排和乱序,test的赋值可能会被提前执行。
如果你想写无锁代码,先理解一下什么是memory fence,以及在C++11中如何实现。
否则老老实实的加锁吧。
【 在 grainbuds 的大作中提到: 】
: bool test = false;
: int v;
:
: ...................
--来自微水木3.5.11
--
修改:foliver FROM 223.167.168.*
FROM 223.167.168.*