需求:两个线程t1、t2,执行顺序为t1-1,t2-1,t1-2,t2-2,t1-3,t2-3,…。
思路:分别为两个线程创建各自的condition,当线程任务完成时,通知对方线程获取锁,并释放锁。
public class DoubleEntranteLock {
static ReentrantLock lock = new ReentrantLock();
public Lock getLock() {
return lock;
}
static Condition condition1 = lock.newCondition();
static Condition condition2 = lock.newCondition();
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(new Runnable() {
@Override
public void