公平锁与非公平锁
锁Lock分为:公平锁和非公平锁。
公平锁:表示线程获取锁的顺序是按照线程加锁的顺序来分配的,即先来先得的FIFO先进先出顺序。
非公平锁:一种获取锁的抢占机制,是随机获得锁的,和公平锁不一样的就是先来的不一定先得到锁,这个方式可能造成某些线程一直拿不到锁,结果就不公平了。
1、公平锁的案例:
<span style="font-size:14px;">package org.jksoft.thread.reentrantLock;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* 测试四:测试公平锁与非公平锁
*
* @author mcl
*
* 2016-2-21-上午11:11:46
*/
public class Test4 {
/* 公平锁案例:
public static void main(String[] args) {
MyService5 service = new MyService5(true);