0

我如何知道所有线程何时已完成执行并处于空闲状态?

我正在尝试为基于 Java 的 Android 应用程序编写单元测试。测试要求查询内容提供者,并且在实际测试之前将内容添加到 ListView。

我想不通的是如何知道我的所有操作何时完成;特别是当数据库更改时列表视图已完成更新,并且所有数据库操作都已完成。

我可以在我的测试用例中加入睡眠,但正如预期的那样,如果系统负载过重,它们会使事情变得不可靠;并减慢执行速度。

在观看GTAC 2013 之后:Espresso:Android UI 测试的新开始 - YouTube 视频(参见 9:40-11:31 的视频)我认为必须有一种方法来检测所有线程何时空闲,并执行我的下一个代码步骤。

我希望能够实现 Espresso 的糟糕版本,因为我现在想要进行稳定的测试。然后在 Espresso 可用时重写它们。

4

2 回答 2

0

Espresso's been released - So give it a shot.

于 2013-10-18T02:17:50.253 回答
0

当收到信号并开始做事时,首先让它们包含一个原子 int。当他们完成并即将停止做事时,让他们dec int。任何将 int 解析为 0 的线程都会调用“onCompletion”方法/函数/其他任何内容。

于 2013-07-24T16:31:29.400 回答