Open CASCADE Technology
Data Structures
OSD_ThreadPool.hxx File Reference
#include <NCollection_Array1.hxx>
#include <OSD_Thread.hxx>
#include <Standard_Atomic.hxx>
#include <Standard_Condition.hxx>
#include <Standard_Mutex.hxx>

Data Structures

class  OSD_ThreadPool
 Class defining a thread pool for executing algorithms in multi-threaded mode. Thread pool allocates requested amount of threads and keep them alive (in sleep mode when unused) during thread pool lifetime. The same pool can be used by multiple consumers, including nested multi-threading algorithms and concurrent threads: More...
class  OSD_ThreadPool::JobInterface
 Thread function interface. More...
class  OSD_ThreadPool::EnumeratedThread
 Thread with back reference to thread pool and thread index in it. More...
class  OSD_ThreadPool::Launcher
 Launcher object locking a subset of threads (or all threads) in a thread pool to perform parallel execution of the job. More...
class  OSD_ThreadPool::JobRange
 Auxiliary class which ensures exclusive access to iterators of processed data pool. More...
class  OSD_ThreadPool::Job< FunctorT >
 Auxiliary wrapper class for thread function. More...