Помогите Диме помочь помогать помочь помогать

Предопределённые пулы потоков

23.07.2016


Фреймворк Executor содержит предопределённые тины пулов потоков, созданные на базе класса-фабрики (factory class) Executors:


пул фиксированного размера - пул потоков фиксированного размера поддерживает определённое пользователем число рабочих потоков. Завершившиеся потоки заменяются новыми, чтобы число рабочих потоков оставалось постоянным. Пул этого типа создаётся с помощью метода Executors.newFixed- ThreadPool (n), где n - число поддерживаемых потоков. Возможно вам понадобится восстановление данных mac os.


Пул этого типа использует неограниченную очередь задач, то есть новые задачи могут без ограничений добавляться в очередь, увеличивая её длину. Как следствие производитель никогда не получит отказа при вставке задачи в очередь;


пул динамического размера - пул потоков динамического размера (его также называют кэшируемым) создаёт новый поток при необходимости, то есть когда появляется задача для обработки. Пассивные потоки ожидают появления новых задач в течение 60 секунд и затем завершаются, если очередь остаётся пустой. Как следствие пул потоков растёт и уменьшается в соответствии с числом задач, требующих выполнения. Пул этого типа создаётся с помощью метода Executors.newCachedThreadPool ();


среда выполнения с единственным потоком - эта среда, которой вряд ли подходит название «пул», содержит только один рабочий поток для обработки задач из очереди. Задачи выполняются последовательно, поэтому безопасность потока не может быть нарушена. «Пул» этого типа создаётся методом Executors. newSingleThreadExecutor().