）。
背景.采用任务并行时必须考虑线程间同步的问题：最初步也是最通常的方法是使用锁，只有获得了锁的线程在允许访问临界区，但是使用锁会发生一些问题，诸如优先级反转(Priority inversion)、死锁（Deadlock）、护航（Convoying）等问题；于是后来产生了无锁编程（Lockless programming）的概念，即使用原子操作（Atomic Operations）和同步路障（Memory barrier）来完成线程间同步的功能，这种方法规避了使用锁时出现的上述