线程 同步 ConditionVariable
ConditionVariable类位于android.os.ConditionVariable,它可以帮助Android线程同步。在SDK上的介绍ConditionVariable不同于标准Java位于java.lang.Object
wait() 和 notify() ,这个类可以等待自己,这就意味着 open(), close() 和 block() 可能会假死 ,如果使用ConditionVariable类的open()在调用 block() 之前, block() 将不会阻塞,相反将会返回立即。
该类一共有4个方法
boolean block(long timeout)
阻止当前线程知道条件是open,或直到超时,这里参数long timeout为超时设置,Android123提示大家如果你们从事过Win32开发,这个方法类似DWORD WaitForSingleObject(HANDLE hHandle,DWORD dwMilliseconds); 函数。
void block()
阻止当前线程知道条件 open ,是上面的无超时等待重载版本。
void close()
重置条件为 close状态。
void open()
Open条件,释放所有线程的阻塞.
该类一共有4个方法
boolean block(long timeout)
阻止当前线程知道条件是open,或直到超时,这里参数long timeout为超时设置,Android123提示大家如果你们从事过Win32开发,这个方法类似DWORD WaitForSingleObject(HANDLE hHandle,DWORD dwMilliseconds); 函数。
void block()
阻止当前线程知道条件 open ,是上面的无超时等待重载版本。
void close()
重置条件为 close状态。
void open()
Open条件,释放所有线程的阻塞.
ConditionVariable在创建时还有一种构造方法是 public ConditionVariable (boolean state) ,如果为true,默认时为opened,如果为false则是closed. ,默认public ConditionVariable()为close()
给出api中一个demo:
posted on 2011-08-13 15:46 android开发实例 阅读(2511) 评论(0) 编辑 收藏 举报