公平锁
文章图片
公平锁
【公平锁】示例:
public class Test4 {public static void main(String[] args) {
TestReentrantlock test = new TestReentrantlock();
// ReentrantLock有公平性
// TestSync test = new TestSync();
synchronized没有公平性
Thread t1 = new Thread(test);
Thread t2 = new Thread(test);
t1.start();
t2.start();
}
}class TestReentrantlock extends Thread {
// 向构造方法中传入true,定义一个公平锁
private static ReentrantLock lock = new ReentrantLock(true);
public void run() {
for (int i = 0;
i < 5;
i++) {
lock.lock();
try {
System.out.println(Thread.currentThread().getName() + " get lock");
} finally {
lock.unlock();
}
}
}}class TestSync extends Thread {
public void run() {
for (int i = 0;
i < 5;
i++) {
synchronized (this) {
System.out.println(Thread.currentThread().getName() + " get lock in TestSync");
}
}
}
}
推荐阅读
- 宽容谁
- 一个人的旅行,三亚
- 第6.2章(设置属性)
- 布丽吉特,人生绝对的赢家
- 家乡的那条小河
- 讲述,美丽聪明的海欧!
- PMSJ寻平面设计师之现代(Hyundai)
- 夜游宫|夜游宫 心语
- 增长黑客的海盗法则
- 画画吗()