package com.dq;
import java.util.concurrent.locks.ReentrantLock;
public class ThreadTest
{
// 用true初始化锁就得到公平锁
private static ReentrantLock lock = new ReentrantLock(true);
public static class T extends Thread
{
public T(String name) {
super(name);
}
@Override
public void run()
{
lock.lock();
try
{
System.out.println(this.getName() + "得到了锁");
}
finally
{
lock.unlock();
}
}
}
public static void main(String[] args) throws Exception
{
T t1 = new T("线程1");
T t2 = new T("线程2");
T t3 = new T("线程3");
t1.start();
t2.start();
t3.start();
t1.join();
t2.join();
t3.join();
}
}
执行结果为
线程1得到了锁
线程2得到了锁
线程3得到了锁