第二个AsyncTask没有执行

Alb*_*ret 8 java sockets multithreading android android-asynctask

我有2个AsyncTask,一个用于创建套接字连接,另一个用于使用这些套接字传输对象.我的代码是这样的:

try {
        connectat = true;
        transmitter = new SocketTransmitter();
        transmitter.execute();
        connector = new socketConnector();
        connector.execute(owner);

        this.open();
    } catch (IOException e) {
Run Code Online (Sandbox Code Playgroud)

但是,从不创建或执行被AsyncTask调用socketConnector.我试图改变顺序但是然后没有创建或执行发射器......

那有什么不对吗?

小智 11

当HONEY COMB将多个AsyncTask执行从并发更改为顺序时,我讨厌它.所以每次执行AsyncTask时,我都会这样做.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
    task.execute();
}
Run Code Online (Sandbox Code Playgroud)

但是线程池大小为5,如果添加第六个任务,它将被添加到队列中,并且在5个线程中的一个完成之前不会执行.