当前位置: 代码迷 >> VC/MFC >> windows实现无锁队列?解决思路
  详细解决方案

windows实现无锁队列?解决思路

热度:96   发布时间:2016-05-02 03:24:20.0
windows实现无锁队列?
  RT,小弟最近要实现一个windows平台的无锁队列,windows有个api叫InterlockedCompareExchangePointer,提供比较并交换的原子操作。但在使用它时遇到了问题,它要求参数类型为void *,根据需要应该传入链表头指针(stNode *)。第一个参数是void **的二级指针,不能将链表类型指针自动转为void,如果进行显示转,那就增加了一步代码,引入了新问题。如果把链表头定义为void*,那第二个参数要求是pNode->next,也需要显示转,仍然出现那个问题。大家是怎么做的呢?
------解决思路----------------------
不管你是什么类型,函数传入参数时,使用(void*)转换一下

aType x;
int a=aFun((void*)&x);
  相关解决方案