public class ConditionVariable
extends Object
java.lang.Object | |
↳ | android.os.ConditionVariable |
实现条件变量锁定范例的类。
这不同于内建的java.lang.Object wait()和notify(),因为这个类包含自己等待的条件。 这意味着open(),close()和block()是粘性的。 如果在block()之前调用open(),则block()不会阻塞,而是立即返回。
此类使用自己作为等待的对象,所以如果您在ConditionVariable上等待()或notify(),则结果未定义。
Public constructors |
|
---|---|
ConditionVariable() 在默认关闭状态下创建ConditionVariable。 |
|
ConditionVariable(boolean state) 用给定的状态创建ConditionVariable。 |
Public methods |
|
---|---|
void |
block() 阻止当前线程,直到条件打开。 |
boolean |
block(long timeout) 阻止当前线程,直到条件被打开或超过超时毫秒。 |
void |
close() 将条件重置为关闭状态。 |
void |
open() 打开条件,并释放所有被阻塞的线程。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
ConditionVariable (boolean state)
用给定的状态创建ConditionVariable。
关闭时通过true,关闭时通过false。
Parameters | |
---|---|
state |
boolean
|
boolean block (long timeout)
阻止当前线程,直到条件被打开或超过超时毫秒。
如果条件已经打开,请立即返回。
Parameters | |
---|---|
timeout |
long : the maximum time to wait in milliseconds. |
Returns | |
---|---|
boolean |
true if the condition was opened, false if the call returns because of the timeout. |