《STL源码剖析》obj * volatile * my_free_list
这个声明原来的形式是:obj** my_free_list,这样的话*my_free_list(空闲的内存块指针数组中的一个元素)可能被优化到寄存器中,从而使库代码无法lock住对它的读调用(如果在寄存器中则另一个线程可能会无意中修改该寄存器的值,而在内存中由于另一个线程没有访问权力所以不能修改)。要声明变量必须在内存中就要用volatile修饰,这里修饰的是*my_free_list,是fr
转载
2016-05-25 09:16:36 ·
1559 阅读 ·
1 评论