以前听说过“互斥旋转锁”这个东西,名字听起来很牛逼啊,让我心生敬仰。夜晚翻书,在windows核心编程里面看到了对这个东西的详细解释,记录在这里。
旋转锁的原型:
//线程之间进行互斥
bool bNoThreadUsing = true;
//旋转互斥锁
void Locker()
{
//以原子操作的方式来进行判断
while (InterlockedExchange((volatile long*)&bNoThreadUsing, TRUE) == TRUE)
{
Sleep(0);
}
/**
在这里写业务逻辑
**/