Open CASCADE Technology
7.6.0
|
#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... | |