new ReentrantLock(true)//代表为公平锁,下一个线程先进入队列,两个线程会交替进行执行
public class T2_ReentrantLock implements Runnable {
Lock lock=new ReentrantLock(true);
@Override
public void run() {
for (int i = 0; i <100 ; i++) {
try {
lock.lock();
TimeUnit.SECONDS.sleep(1);
System.out.println(Thread.currentThread().getName()+"获得锁");
} catch (Exception e) {
e.printStackTrace();
} finally {
lock.unlock();
}
}
}
public static void main(String[] args) {
T2_ReentrantLock t1=new T2_ReentrantLock();
Thread r1=new Thread(t1);
Thread r2=new Thread(t1);
r1.start();
r2.start();
}
}
new ReentrantLock()//不传参数或者false 代表为非公平锁,两个线程会进行竞争执行。