import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class ConcurrentProgrammingExample { private final Lock lock = new ReentrantLock(); private final Condition condition = lock.newCondition(); private boolean flag = false; public void thread1() throws InterruptedException { lock.lock(); try { while (!flag) { condition.await(); } } finally { lock.unlock(); } } public void thread2() { lock.lock(); try { flag = true; condition.signal(); } finally { lock.unlock(); } } }


上一篇:
下一篇:
切换中文