Sequoia
|
a task queue designed for use by multiple threads. More...
#include <ConcurrencyModels.hpp>
Public Types | |
using | task_t = Task |
Public Member Functions | |
task_queue (const task_queue &)=delete | |
task_queue (task_queue &&)=delete | |
task_queue & | operator= (const task_queue &)=delete |
task_queue & | operator= (task_queue &&)=delete |
void | finish () |
void | push (task_t &&task) |
bool | push (task_t &&task, std::try_to_lock_t t) |
task_t | pop (std::try_to_lock_t t) |
task_t | pop () |
a task queue designed for use by multiple threads.
This class supports both aggressive pushing and popping and also speculative versions which do not necessarily acquire the underlying mutex and may therefore fail.