1. 定义
不同线程通过竞争进入临界区(共享的数据和硬件资源),为了防止访问冲突,在有限的时间内只允许其中之一独占性的使用共享资源。
是Semaphore的特殊情况 当信号量的阈值设为1时就是互斥锁模式
2. 例子
Lock
package com.hqq.concurrency.mutex;
/**
* Lock
* Created by heqianqian on 2017/7/29.
*/
public interface Lock {
void acquire() throws InterruptedException;
void release();
}
Mutex
package com.hqq.concurrency.mutex;
/**
* Mutex
* 独占锁
* Created by heqianqian on 2017/7/29.
*/
public class Mutex implements Lock {
/**
* 当前锁的拥有者
*/
private Object owner;
@Override
public synchronized void acquire() throws InterruptedException {
while (owner !=