我的代码很简单,如下所示.我发现rmb和wmb用于读写,但没有找到一般的one.lwsync可用于PowerPC,但x86的替代品是什么?提前感谢.
#define barrier() __asm__ volatile ("lwsync")
...
lock()
if(!pInst);
{
T* temp=new T;
barrier();
pInst=temp;
}
unlock();
最佳答案 rmb()和wmb()是Linux内核函数.还有mb().
x86指令是lfence,sfence和mfence,IIRC.