假设Mutex变量的值为1表示互斥锁空闲,这时某个进程调用lock可以获得锁,
而Mutex的值为0表示互斥锁已经被某个线程获得,其它线程再调用lock只能挂起等待
大多数结构都提供swap或exchange指令,该指令的作用是把寄存器和内存单元数据交换
由于只有一条指令,确保原子性,即使多处理器平台,访问内存的总线周期亦有先后,一个处理器执行交换指令时,另一处理器只能等待总线周期。
lock
movb $0 ,%al
xchgb %al,mutex