gpt4 book ai didi

c++ - Boost:spsc queue:我可以将它用于用户定义的类型吗?

转载 作者:太空狗 更新时间:2023-10-29 21:19:24 27 4
gpt4 key购买 nike

我想知道 Boost.LockFree 中的 spsc_queue 是否可以与用户定义的类型一起使用。从我不确定的示例中,我只看到了 atomic 和更多 atomic

例子:

boost::lockfree::spsc_queue<int, boost::lockfree::capacity<1024> > spsc_queue;

那么,我可以这样做吗?

boost::lockfree::spsc_queue<ServerReply, boost::lockfree::capacity<1024> > spsc_queue;

我想知道是否只能存储基本类型和指针,因为弹出东西等必须以原子方式完成,但 ServerReply 是一种复合类型。

最佳答案

简短的回答是。

虽然这是一个略有不同的问题,但我已经在之前深入“证明”的答案中解释了这是如何以及为什么会发生这种情况:库代码也是如此:

您可以非常确信,如果它通过编译,它可能应该被允许。

值得注意的异常(exception)是,没有运行时验证确实只有一个生产者和一个消费者这一事实,但毫无疑问,你满足了这个要求。

关于c++ - Boost:spsc queue:我可以将它用于用户定义的类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27436539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com