2. In a normal (spsc using) program the producer will be a single OS thread; however is it still safe to use on something like an actor framework or fiber framework? (i.e. you only have a single producer object, but it can actually be executed in different threads -- though strictly on one thread at any given time).
for example in spsc_queue.hpp there's some code such as:
bool push(T const & t, T * buffer, size_t max_size)
{
const size_t write_index = write_index_.load(memory_order_relaxed); // only written from push thread
Thank you.
Sampath Tilakumara