一、数据结构
Head,Tail是队列的头和尾。
二、基础知识
一般的处理器,有一条指令,一个周期就可以执行,也可以说是原子操作,是不可分割的。
CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的
是 CMPXCHG 汇编指令。有了这个原子操作,我们就可以用其来实现各种无锁(lock free)的数据结构。
利用c语言描述其功能:
bool compare_and_swap (int* accum,int* dest,int newval)
{
if( *accum == *dest ) {
*dest = newval;
return true;
}
return false;
}
还有一些类似的指令: