e32 — Symbian系统级的服务模块: Ao_lock类

Ao_lock()类

生成Ao_lock实例。此AO依赖于同步服务。它可以在主线程上运行,但不影响UI事件响应。如果程序的某个线程处在Ao_lock中,那么它就不能关闭。而且,不得使用多个Ao_lock.wait,否则会引起AssertionError。

Ao_lock实例支持下列方法:


wait()

处在Ao_lock中的线程将被挂起,直到获得释放信号。需要注意,仅支持一个挂起,所以绝对不能递归调用。只有产生lock对象的线程才能调用wait,而进入wait后,其他AO仍处于激活状态,所以UI不会被冻结。然而这就面临一个问题,UI响应可能处在Ao_lock中的线程上下文环境中。这一点必须在设计逻辑结构时考虑。


signal()

发出信号,释放被挂起的线程。

你可能感兴趣的:(UI,Symbian)