我正在使用ThreadPoolExeecutor
使3个Asynctask同时工作。每个线程在一个Arraylist
中从RSS提要中收集数据,然后我想将这3个Arraylist合并为一个,以更新主线程中的View。问题是我需要在所有3个线程都完成工作之后执行此操作,如何在这些线程上侦听?
最佳答案
使用CountDownLatch
。这个Java类为您提供了方便的同步计数器。初始化一个计数为3的对象,调用await()
,然后在每个任务完成时在其上调用countDown()
。一旦为0,锁将被释放,您可以执行任务。