PIP 5.6.1
Platform-Independent Primitives
Открытые члены | Полный список членов класса
Класс PIThreadPoolExecutor

Фиксированный пул рабочих потоков для задач без ожидания результата. Подробнее...

#include <pithreadpoolexecutor.h>

Открытые члены

 PIThreadPoolExecutor (int corePoolSize)
 Создает исполнитель с corePoolSize рабочими потоками.
 
virtual ~PIThreadPoolExecutor ()
 Останавливает рабочие потоки и уничтожает ресурсы исполнителя.
 
void execute (const std::function< void()> &runnable)
 Передает runnable на асинхронное выполнение рабочим потоком. Подробнее...
 
void shutdownNow ()
 Запрашивает немедленное завершение и останавливает рабочие потоки без ожидания завершения задач в очереди.
 
void shutdown ()
 Запрашивает упорядоченное завершение: новые задачи отклоняются, а рабочие потоки останавливаются после опустошения текущей очереди. Подробнее...
 
bool isShutdown () const
 Возвращает true после запроса shutdown() или shutdownNow().
 
bool awaitTermination (PISystemTime timeout)
 Ожидает до timeout завершения всех рабочих потоков. Подробнее...
 

Подробное описание

Фиксированный пул рабочих потоков для задач без ожидания результата.

Thread pools address two different problems: they usually provide improved performance when executing large numbers of asynchronous tasks, due to reduced per-task invocation overhead, and they provide a means of bounding and managing the resources, including threads, consumed when executing a collection of tasks.

Методы

◆ execute()

void PIThreadPoolExecutor::execute ( const std::function< void()> &  runnable)

Передает runnable на асинхронное выполнение рабочим потоком.

Это вызов по принципу best-effort без ожидания результата и без сообщения о том, была ли задача принята. \После запроса на завершение новые задачи игнорируются.

◆ shutdown()

void PIThreadPoolExecutor::shutdown ( )

Запрашивает упорядоченное завершение: новые задачи отклоняются, а рабочие потоки останавливаются после опустошения текущей очереди.

Этот метод не ожидает завершения рабочих потоков.

◆ awaitTermination()

bool PIThreadPoolExecutor::awaitTermination ( PISystemTime  timeout)

Ожидает до timeout завершения всех рабочих потоков.

Возвращает
false, если таймаут истек раньше.