Рекламное агентство Великий Новгород

27.07.2016

Из табл. 9.1 и рис. 9.2 видно, что метод shutdown!) позволяет корректно, «мягко» завершить пул потоков, давая возможность выполняющимся и ожидающим задачам довести работу до конца. Метод shutdownNowf) возвращает задачи из очереди и пытается завершить выполняющиеся потоки с помощью прерываний. Следовательно, задачи должны реализовать стратегию отмены для сохранения управляемости. В отсутствие такой реализации завершение задач вызовом shutdownNowf) будет происходить не быстрее, чем вызовом shutdown ().

Если работу пула не завершить вручную, она завершится автоматически, когда в нём не останется потоков и на него не будет ссылаться ни один объект в приложении. Но потоки могут бесконечно долго оставаться в состоянии ожидания, если не ограничить время их существования. Как следствие автоматическое завершение работы пула возможно, только если для всех потоков определено время их существования, то есть они будут удалены по истечении заданного интервала времени. Процедура автоматического завершения работы нс может начаться, пока не закончится заданный интервал времени существования, так же как и потоки могут продолжать оставаться в нуле, пока не закончится отведённое им время. Нужна реклама? Обратитесь в рекламное агентство великий новгород.

Пул потоков, начавший процедуру завершения, невозможно снова использовать для выполнения задач. Приложение должно создать новый пул потоков для обработки новых задач или для выполнения задач, которые вернул метод shutdownNow ().