我正在查看Boost的无锁队列。
当生产者线程将数据结构T推入缓冲区时,它会通过复制构造函数复制到缓冲区中。
当消费者线程尝试调用consume_one()来读取缓冲区中的元素时,似乎需要内存屏障?如果不是这样,那么生产者线程所做的更改如何对消费者线程可见?
谢谢!
当生产者线程将数据结构T推入缓冲区时,它会通过复制构造函数复制到缓冲区中。
当消费者线程尝试调用consume_one()来读取缓冲区中的元素时,似乎需要内存屏障?如果不是这样,那么生产者线程所做的更改如何对消费者线程可见?
谢谢!