PIP 5.6.1
Platform-Independent Primitives
Файлы | Классы
Thread

Поддержка многопоточности Подробнее...

Файлы

файл  piblockingqueue.h
 Шаблон блокирующей очереди
 
файл  piconditionvar.h
 Переменная условия для ожидания и уведомления между потоками
 
файл  pigrabberbase.h
 Базовый класс потока-граббера
 
файл  pimutex.h
 Базовая межпоточная блокировка
 
файл  pipipelinethread.h
 Потоковый конвейер для многоэтапной обработки данных
 
файл  piprotectedvariable.h
 Потокобезопасная переменная
 
файл  pireadwritelock.h
 Блокировка чтения-записи с несколькими читателями или одним писателем
 
файл  pisemaphore.h
 Счетный семафор для общих ресурсов
 
файл  pispinlock.h
 Спинлок с активным ожиданием
 
файл  pithread.h
 Объект потока выполнения с необязательным циклом
 
файл  pithreadmodule.h
 Зонтичный заголовок модуля потоков
 
файл  pithreadnotifier.h
 Счетный помощник уведомления для координации между потоками
 
файл  pithreadpoolexecutor.h
 Исполнитель пула потоков
 
файл  pithreadpoolloop.h
 Вспомогательный класс для параллельного цикла
 
файл  pitimer.h
 Объект таймера, работающий на внутреннем потоке
 

Классы

class  PIBlockingQueue< T >
 Потокобезопасная очередь с поддержкой блокирующих операций - ожидает место при добавлении и ожидает элемент при получении. Подробнее...
 
class  PIConditionVariable
 Переменная условия, используемая вместе с внешним PIMutex. Подробнее...
 
class  PIGrabberBase< T >
 Базовый поток-граббер с очередью ожидающих элементов, виртуальными методами записи и снимком последнего элемента. Подробнее...
 
class  PIMutex
 Мьютекс для взаимоисключения между потоками. Подробнее...
 
class  PIMutexLocker
 Защитник области видимости, который блокирует PIMutex в конструкторе и разблокирует в деструкторе. Подробнее...
 
class  PIPipelineThread< Tin, Tout >
 Шаблонный класс потокового конвейера для многоэтапной обработки данных Подробнее...
 
class  PIProtectedVariable< T >
 Шаблонный класс потокобезопасной переменной Подробнее...
 
class  PIReadWriteLock
 Примитив синхронизации, допускающий одновременных читателей и эксклюзивный доступ писателя. Подробнее...
 
class  PIReadLocker
 Защитник области видимости, который захватывает доступ на чтение в конструкторе и освобождает его в деструкторе. Подробнее...
 
class  PIWriteLocker
 Защитник области видимости, который захватывает доступ на запись в конструкторе и освобождает его в деструкторе. Подробнее...
 
class  PISemaphore
 Счетный семафор, отслеживающий количество доступных единиц ресурса. Подробнее...
 
class  PISemaphoreLocker
 Защитник области видимости, который захватывает единицы семафора в конструкторе и освобождает их в деструкторе. Подробнее...
 
class  PISpinlock
 Блокировка на основе атомарного вращения для очень коротких критических секций. Подробнее...
 
class  PISpinlockLocker
 Защитник области видимости, который блокирует PISpinlock в конструкторе и разблокирует его в деструкторе. Подробнее...
 
class  PIThread
 Объект потока, выполняющий работу в отдельном системном потоке. Подробнее...
 
class  PIThreadNotifier
 Класс уведомления потоков для синхронизации между потоками. Подробнее...
 
class  PIThreadPoolExecutor
 Фиксированный пул рабочих потоков для задач без ожидания результата. Подробнее...
 
class  PIThreadPoolLoop
 Вспомогательный класс, который выполняет один целочисленный диапазон на фиксированном наборе рабочих потоков. Подробнее...
 
class  PITimer
 Периодический таймер, который выдает тики из внутреннего рабочего потока. Подробнее...
 

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

Поддержка многопоточности

Сборка с использованием CMake

find_package(PIP REQUIRED)
target_link_libraries([target] PIP)
Общее

Этот модуль предоставляет потоки, таймеры и примитивы синхронизации для задач времени выполнения.

Авторы

Иван Пелипенко peri4.nosp@m.ko@y.nosp@m.andex.nosp@m..ru; Андрей Бычков work..nosp@m.a.b@.nosp@m.yande.nosp@m.x.ru;