java.util.concurrent.locks.Condition接口提供一个线程挂起执行的能力,直到给定的条件为真。 Condition对象必须绑定到Lock,并使用newCondition()方法获取对象。

Condition类的方法

以下是Condition类中可用的重要方法的列表。

1public void await()使当前线程等待,直到发出信号或中断信号。
2public boolean await(long time, TimeUnit unit)使当前线程等待直到发出信号或中断,或指定的等待时间过去。
3public long awaitNanos(long nanosTimeout)使当前线程等待直到发出信号或中断,或指定的等待时间过去。
4public long awaitUninterruptibly()使当前线程等待直到发出信号。
5public long awaitUntil()使当前线程等待直到发出信号或中断,或者指定的最后期限过去。
6public void signal()唤醒一个等待线程。
7public void signalAll()唤醒所有等待线程。

实例

以下TestThread程序演示了Condition接口的这些方法。这里我们使用signal()通知和await()挂起线程。

05-01 02:41