Bil*_*Ape 6 android android-asynctask android-event
在我的小应用程序中,我从系统(不受我控制)收到一系列排队的onEventXXX().
那些onEventXXX()的时间不保证.唯一保证的是它们按照它们被放入队列的顺序被接收.
在onEventXXX()中,我必须触发一个操作(O),当另一个进程(P)进行时,该操作无法启动.
但我不能放弃这个"开火行动(O)".我必须等到那个过程(P)完成,然后解雇它.
IOW,我必须排队或至少推迟"触发操作"直到该过程(P)完成.
我实现这一点的直接想法是,不是解雇操作(O),而是:
但是,知道Android的丰富性,我怀疑有一种更好的方法,已经内置到系统/ API中.
如果有更好的方法来实现上述目标,它会是什么?
CountDownLatch将是最好的解决方案。
我没有详细的例子,但我想你可以轻松使用它。
流程如下
如果你这样编码,你可以轻松处理很多情况。
我在异步单元测试中使用 CountDownLatch。您可以在这里看到我的代码:http ://kingori.egloos.com/4554640
虽然它不像你的情况,但你可以从我的代码中获取提示。另外,CountDownLatch 的 javadoc 提供了很好的示例。
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |