Понимание параллельной Async Task в Android

В моем приложении я использую асинхронные задачи во многих местах, в последнее время я сталкиваюсь с проблемой, когда doInBackground нижеприведенной асинхронной задачи не вызывается, это происходит, когда я выполняю нижеприведенную асинхронную задачу в третий раз (другие асинхронные задачи также выполняются ).

protected class StatusTask extends AsyncTask<Void, Void, Void> {
    private final BluetoothDevice device;

    public StatusTask(BluetoothDevice device) {
        this.device = device;
    }

    @Override
    protected Void doInBackground(Void... voids) {
        while (true) {
            if (someCondition) {
                Log.D(TAG,"hi hello")
                break;
            }
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                //e.printStackTrace();
            }
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        tTask=null;
    }

    @Override
    protected void onCancelled() {
        super.onCancelled();
        System.out.println("onCancelled " + this.isCancelled());
    }

    @Override
    protected void onCancelled(Void aVoid) {
        super.onCancelled(aVoid);
        System.out.println("onCancelled result " + this.isCancelled());
    }
}

я выполняю вышеуказанную задачу как,

 StatusTask  tTask = new StatusTask(device);   
 tTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

Я работаю на Android версии 4.4.3.

Как узнать, сколько задач синхронизации в настоящее время выполняется в моем приложении? Bcz Я думаю, что CORE_POOL_SIZE count может быть причиной проблемы.

Или, если произошла тупиковая ситуация или возникла какая-либо другая ситуация и блокируется выполнение новой задачи Async, есть ли способ в Android Studio идентифицировать и убить другие задачи Async, которые могут оказаться бесполезными?

Если я использую CustomThreadPoolExecutor в качестве disconnectTask.executeOnExecutor (mCustomThreadPoolExecutor); с большим количеством CorePoolSize он работает нормально, но doInBackground () следующей асинхронной задачи, использующей AsyncTask. THREAD_POOL_EXECUTOR не вызывается.

Ответы на вопрос(2)

Ваш ответ на вопрос