如何实现Thread和AsyncTask之间的通信

时间:2012-03-27 12:44:37

标签: android multithreading android-asynctask

我正在使用Android SDK开发应用程序。在此应用程序中,当Activity启动Thread时,我遇到了问题。新的Thread启动AsyncTask,但Thread必须等待AsyncTask执行完成。

是否可以在一个线程中启动AsyncTask,如果可以,应该如何实现? 任何人都可以与我分享您对此类任务的经验。

提前致谢

2 个答案:

答案 0 :(得分:2)

  1. 您不应该从主线程以外的线程创建AsyncTask。
  2. 如果你还是要等,为什么要创建AsyncTask?在线程上执行它。

答案 1 :(得分:1)

只是说线程要睡一段时间,然后像这样再次检查一个变量 在下面的代码中,someValue是在asynctask postExecute方法中设置的

new Thread(new Runnable(){
    @Override
    public void run(){
        while(!someValue) {
            try {
                Thread.sleep(200);
            } catch {
                Log.i("LOG", "ERROR");
            }
        }
        Log.i("LOG", "Async Task Finished");
    }
}).start();