2015
01-11
01-11
无锁队列的实现-循环数组
通过CAS操作免锁设计:CAS原子操作(Compare&Set):包含三个操作数,内存值V、旧的预期值oldval、要修改的新值newval,当且仅当内存V中的值和旧值oldval相同时,将内存V修改为newval。数组队列是一个循环数组,队列少用一个元素,当头等于尾标示队空,尾加1等于头标示队满。数组的元素用EMPTY(无数据,标示可以入队)和FULL(有数据,标示可以出队)标记指示,数组一开始全部初始化成EMPTY标示空队列。EnQu...
继续阅读 >