如果我正在运行一个单一的boost::asio::io_service
有一个线程池和包装特定的套接字接收使用boost::asio::strand
模拟单线程操作时,没有人知道,如果股符合要求安全产生一个boost::lockfree::spsc_queue
尽管我会从不同的线程来生产,但保证只产生一次一个。
Answer 1:
是。 序列化穿过拉丝保证你所追求的。 这种延长一点点,如果你有多个代表(多个插座为例) - 再没有这样的保证跨越多股推到同一个队列存在。
文章来源: boost::asio::strand && boost::lockfree::spsc_queue