我正在UI线程中执行一些任务,并创建了一个为我执行网络任务的工作线程。不过,一旦工作线程完成,我需要执行一些重要的事情。任何人都可以给我一个解决方案吗?Android ::在主线程中执行其他任务之前阻止主线程完成主线程
{
Main thread...
worker thread created..and executed..
//I need to wait here for the worker thread to finish//
some useful task to be done
}
在此先感谢!
感谢哥们!我了解你提到的方法。但是,如果我有多个工作线程,我将如何处理?我的意思是我有3个工作线程,比如A,B,C,它们正在执行不同的任务。我的主线程需要等待所有这些线程完成,以便它可以继续并在主线程中执行新的任务T.请建议。 – user1601533 2012-08-15 19:56:06
@ user1601533:让三个后台线程阻塞某些内容(例如'CountDownLatch')。一旦闩锁被释放,三个线程中的两个只是终止,而第三个使用'runOnUiThread()'或等价的方式将工作发布到主应用程序线程。 – CommonsWare 2012-08-15 20:00:32
是的。或者让主线程在完成每个工作人员后更新某个状态变量,并在某个状态下启动另一个任务。 – ekholm 2012-08-15 20:04:18