Class providing core implementation of a shared task sequencer. It is a sequencer which launches shared sub-tasks belonging to the same shared task.
More...
#include <SharedTaskSequencer.h>
|
size_t | maxThreads = 0 |
| Maximum number of supported concurrent threads. More...
|
|
size_t | availableThreads = 0 |
| How many threads there are available to compute a task.
|
|
size_t | nextSharedSubTaskKey = 0 |
| Key of next shared sub-task to be inserted.
|
|
unordered_map< size_t, std::shared_ptr< SharedSubTask > > | subTasks |
| The collection of running shared sub-tasks. More...
|
|
boost::mutex | mtx |
| Mutex to handle concurrent start of sub-tasks.
|
|
boost::condition_variable | condvar |
| Condition variable to handle concurrent start of sub-tasks.
|
|
Class providing core implementation of a shared task sequencer. It is a sequencer which launches shared sub-tasks belonging to the same shared task.
- Author
- Alberto M. Esmoris Pena
- Version
- 1.0
- See also
- SharedSubTask
-
SharedSubTaskCompletionHandler
◆ SharedTaskSequencer()
SharedTaskSequencer::SharedTaskSequencer |
( |
size_t const |
maxThreads | ) |
|
|
inlineexplicit |
◆ onSharedSubTaskCompletion()
void SharedTaskSequencer::onSharedSubTaskCompletion |
( |
size_t const |
key | ) |
|
|
override |
◆ start()
void SharedTaskSequencer::start |
( |
std::shared_ptr< SharedSubTask > |
subTask | ) |
|
|
virtual |
◆ startThread()
void SharedTaskSequencer::startThread |
( |
std::shared_ptr< SharedSubTask > |
subTask | ) |
|
|
virtual |
◆ maxThreads
size_t SharedTaskSequencer::maxThreads = 0 |
|
protected |
Maximum number of supported concurrent threads.
If it is 0, it means that there is no limit to concurrent threads.
◆ subTasks
unordered_map<size_t, std::shared_ptr<SharedSubTask> > SharedTaskSequencer::subTasks |
|
protected |
The collection of running shared sub-tasks.
Only queued and running shared sub-tasks are included. Those which are fully finished or were not started yet will not be here.
The documentation for this class was generated from the following files: