Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
TAtomicQuasiQueue.h File Reference
#include <Common/config.h>
#include <moodycamel/concurrentqueue.h>
#include <cstddef>
#include <iterator>
#include "Utility/Concurrent/TAtomicQuasiQueue.ipp"

Go to the source code of this file.

Classes

class  ph::TAtomicQuasiQueue< T >
 A multi-producer, multi-consumer, lock-free concurrent queue-like structure. For single-thread uses, it is a FIFO queue. For multi-thread uses, it is mostly a FIFO queue. Specifically, items put in by a given producer will all come out in the same order (FIFO). But there is no coordination between items from other producers–two items put in by two different producers will come out in an undefined order relative to each other (the interleaving between different streams of items from different producers is undefined, even with external synchronization). It is possible some items will starve in the queue if more items are enqueued than dequeued. Guarantees aquire-release semantics for items that are enqueued/dequeued. More...
 

Namespaces

namespace  ph
 The root for all renderer implementations.