BOOST源码笔记(5) - 最小的代价实现同步-无锁编程,看boost中的interlocked_bit_test_and_set实现

如题,如何用最小的代价来实现同步呢,即无锁编程(主要是使用原子操做替代锁来实现对共享资源的访问保护),算法 咱们来看看下面的代码。编程 首先,咱们须要是在这个函数内部对地址x中的值进行位测试并将其对应的位置位。  这里的关键是咱们必须先读出*x的值,做位或运算以后,将获得的值对*x赋值。而在多线程环境中,在读出*x后也许有另外的线程对*x进行写操做,这样在给*x赋值的时候就会把对旧的值位或的结果赋
相关文章
相关标签/搜索