Пул потоков в Java

Я пишу приложение на Java, используя ThreadPool. Сначала я создаю новый пул потоков:

private ExecutorService threadExecutor = Executors.newFixedThreadPool( 20 );

Затем я создаю несколько объектов Runnable. После этого я время от времени выполняю свой пул потоков, передавая ему один и тот же объект Runnable:

threadExecutor.execute(serverRunnable);

Я выполняю этот пул потоков каждые 20 секунд. Моя проблема в том, что threadExecutor перестает работать примерно на 5 минут. Он просто не выполняет объект Runnable. Я заметил, что когда я увеличиваю аргумент в:

Executors.newFixedThreadPool( 20 );

с 20 до, например, 100 ThreadPool будет работать дольше. Кто-нибудь может мне объяснить, почему перестает работать ThreadPool?

ps. Я пишу этот код в Android

5
задан fmucar 9 January 2012 в 10:03
поделиться