Java-如何从另一个AsyncTask启动AsyncTask

时间:2019-05-24 09:17:50

标签: android android-asynctask

我有两个AsyncTask类,ConnectionThreadCommunicationThread。我试图在一个while循环中让ConnectionThread在其onPostExecute内部创建并执行CommunicationThreads,如下所示:

protected synchronized void onPostExecute(Thread2ThreadInfo info) {
                while (true) {
                    CommunicationThread commThread = new CommunicationThread();
                    commThread.execute(info);
                    try {
                        this.wait();
                    } catch (InterruptedException e) {}
                }

        } 

我正在做的是创建一个CommunicationThread commThread并执行它。之后,让当前的ConnectionThread等待。

ConnectionThread中,我在doInBackground中做一些事情,然后调用notifyAll唤醒执行此communicationThread的{​​{1}}。 connectionThread的代码为:

ConnectionThread

尽管执行了protected synchronized Value doInBackground(Thread2ThreadInfo... info) { //Do some stuff notifyAll(); Log.e("start", "after notify"); } ,但通讯线程没有唤醒,程序在那里冻结了。我应该如何使用notifyAllwait来实现此行为?

0 个答案:

没有答案