[有奖问答]读写冲突问题

为了解决线程在读写全剧存储区数据或共享存储区数据的冲突问题,听说有三种方式:原子操作、threadfence, volatile,想问一下,原子操作是只有那10个左右的原子函数是不??用__threadfence()的时候要加头文件吗??我用的时候编译器提示说这是未定义标识符。volatile的用法是在定义数据的时候直接在前面加这个关键字吗??有没有类似的例子介绍一下这种问题的?