swap指令实现互斥

lock初值为FALSE

do{
    key=TRUE;  
    do{
      swap(&key,&lock);
    }while(key!=FALSE);
    临界区操作
    ...
    lock=FALSE;
}while(TRUE);

  妙啊!

原文地址:https://www.cnblogs.com/kazama/p/10872452.html