我正在使用ThreadPoolExeecutor使3个Asynctask同时工作。每个线程在一个Arraylist中从RSS提要中收集数据,然后我想将这3个Arraylist合并为一个,以更新主线程中的View。问题是我需要在所有3个线程都完成工作之后执行此操作,如何在这些线程上侦听?

最佳答案

使用CountDownLatch。这个Java类为您提供了方便的同步计数器。初始化一个计数为3的对象,调用await(),然后在每个任务完成时在其上调用countDown()。一旦为0,锁将被释放,您可以执行任务。

09-15 23:38