Most visited

Recently visited

Added in API level 1

ConditionVariable

public class ConditionVariable
extends Object

java.lang.Object
   ↳ android.os.ConditionVariable


实现条件变量锁定范例的类。

这不同于内建的java.lang.Object wait()和notify(),因为这个类包含自己等待的条件。 这意味着open(),close()和block()是粘性的。 如果在block()之前调用open(),则block()不会阻塞,而是立即返回。

此类使用自己作为等待的对象,所以如果您在ConditionVariable上等待()或notify(),则结果未定义。

Summary

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

Public constructors

ConditionVariable

Added in API level 1
ConditionVariable ()

在默认关闭状态下创建ConditionVariable。

ConditionVariable

Added in API level 1
ConditionVariable (boolean state)

用给定的状态创建ConditionVariable。

关闭时通过true,关闭时通过false。

Parameters
state boolean

Public methods

block

Added in API level 1
void block ()

阻止当前线程,直到条件打开。

如果条件已经打开,请立即返回。

block

Added in API level 1
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.

close

Added in API level 1
void close ()

将条件重置为关闭状态。

任何调用block()的线程都会阻塞,直到有人打开。

open

Added in API level 1
void open ()

打开条件,并释放所有被阻塞的线程。

除非调用close(),否则稍后接近block()的任何线程都不会阻塞。

Hooray!