您的位置:首页 > 其它

win线程同步--循环锁简单理解

2007-06-08 08:56 232 查看
线程同步的解决方案之一,循环锁.

伪代码:

gloabl resourceInUser=false;

Syncronize fun()

{

while(resourceInUser==true)

sleep(0);//可以switchToThread()

resourceInUser=true;

//---access the resource

................

resourceInUser=false;

}

循环锁适应于多CPU的环境,在单CPU 的情况下,存在浪费CPU时钟周期,争用高速缓存行.

注意的是CPU高速缓存行在多核时反而会造成性能下降,可以利用线程的亲缘性来解决.

参考:wincore--178
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: