ABC三个线程,依次交替执行,ReentrantLock方式 package com.test.lock.abc; import java.util.concurrent.CountDownLatch; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * 三个线程,按顺序打印ABC */ public class App { public static final ReentrantLock lock = new ReentrantLock(); public static final Condition A = lock.newCondition(); public static final Condition B = lock.newCondition(); public static final Condition C = lock.newCondition(); //闭锁 public static CountDownLatch latchB = new CountDownLatch(1); public static CountDownLatch latchC = new CountDownLatch(1); public static ThreadLocal<String> stringThreadLocal = new ThreadLocal(){ @Override protected Object initialValue() { Thread thread = Thread.currentThread(); return "thread local = " + thread.getName(); } };