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
上使用条件。