Running multiple AsyncTasks at the same time — not possible?

Я пытаюсь запустить две AsyncTasks одновременно. (Платформа - Android 1.5, HTC Hero.) Однако выполняется только первый. Вот простой фрагмент, описывающий мою проблему:

public class AndroidJunk extends Activity {
 class PrinterTask extends AsyncTask<String, Void, Void> {
     protected Void doInBackground(String ... x) {
      while (true) {
       System.out.println(x[0]);
       try {
        Thread.sleep(1000);
       } catch (InterruptedException ie) {
        ie.printStackTrace();
       }
      }
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        new PrinterTask().execute("bar bar bar");
        new PrinterTask().execute("foo foo foo");

        System.out.println("onCreate() is done.");
    }
}

Я ожидаю, что результат будет:

onCreate() is done.
bar bar bar
foo foo foo
bar bar bar
foo foo foo

И так далее. Однако я получаю следующее:

onCreate() is done.
bar bar bar
bar bar bar
bar bar bar

Вторая AsyncTask никогда не выполняется. Если я изменю порядок операторов execute (), вывод будет производить только задача foo.

Я упустил здесь что-то очевидное и / или делаю что-то глупое? Разве невозможно запустить две AsyncTasks одновременно?

Изменить: я понял, что данный телефон работает под управлением Android 1.5, я обновил описание проблемы. соответственно. У меня нет этой проблемы с HTC Hero под управлением Android 2.1. Хммм ...

249
задан Ravindra babu 26 September 2017 в 00:00
поделиться