原子操作
旋转锁
BOOL bUsering = FALSE; while(InterlockedExchange((long *)&bUsering, TRUE) == TRUE) Sleep(0); //绝对安全领域 InterlockedExchange((long *)&bUsering, FALSE);
绝对安全
需要注意的地方1 如果 里面的线程的优先级不同 优先级低的有可能饿死
2 因为是循环 cpu使用率过高
因为编译器优化的不同所以引发了另一个问题就是 直接把锁 优化没了 不确定因为编译器本身就是不可理喻的 - -volatile 关键字 让他绝对不会被优化
volatile BOOL bUseing = FALSE;