27-其他说明
其他说明
Condition 接口包含与 await() 方法类似的其他方法,具体如下。
await(long time, TimeUnit unit):在该方法中,线程将保持休眠状态直到如下情况出现。- 被其他线程中断
- 其他线程在同一个条件上调用
signal()方法或signalAll()方法 - 等待时间超过了参数指定的时间
TimeUnit类是具有以下常量的枚举:DAYS、HOURS、MICROSECONDS、MILLISECONDS、MINUTES、NANOSECONDS和SECONDS。
awaitUninterruptibly():线程调用该方法后只能由signal()方法和signalAll()方法唤醒,而不能被其他线程中断。awaitUntil(Date date):在该方法中,线程将保持休眠,直到如下情况出现。- 被其他线程中断
- 其他线程在同一个条件上调用
signal()方法或signalAll()方法 - 程序执行到参数所指定的时间
你也可以在读写锁 ReadLock 和 WriteLock 上使用条件。