Sequoia
Loading...
Searching...
No Matches
Classes
ConcurrencyModels.hpp File Reference

Classes with a queue-like behaviour to which tasks can be pushed and results recovered, possibly following concurrent execution. More...

#include "sequoia/Core/Meta/TypeTraits.hpp"
#include <queue>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <future>

Go to the source code of this file.

Classes

class  sequoia::concurrency::task_queue< R, Task, Q >
 a task queue designed for use by multiple threads. More...
 
struct  sequoia::concurrency::impl::queue_details< R, MultiChannel >
 
struct  sequoia::concurrency::impl::queue_details< R, false >
 
class  sequoia::concurrency::serial< R >
 Tasks may be pushed, upon which they are immediately invoked. More...
 
class  sequoia::concurrency::asynchronous< R >
 Tasks may be pushed, upon which they are fed to std::async. More...
 
class  sequoia::concurrency::thread_pool< R, MultiPipeline >
 Supports either a single pipeline or a pipeline for each thread, together with task stealing. More...
 

Detailed Description

Classes with a queue-like behaviour to which tasks can be pushed and results recovered, possibly following concurrent execution.

The three concurrency models sequoia::concurrency::serial, sequoia::concurrency::asynchronous and sequoia::concurrencythread_pool have a common interface for pushing tasks via the push method.