我如何动态定义元素大小?
作者: whatagoodname创建于 2026年2月11日更新于 2026年2月11日
在我的项目中,我需要多个生产者线程来生成特定数据类型的对象,而此对象的大小在程序运行时由外部传入的 JSON 来确定。然而,看起来我们的无锁队列只能根据编译时指定的 T 和 sizeof(T) 来分配内存。我曾尝试使用 <char> 作为 T,然后以批量模式一次性队列 n 个字符,但速度比 T = std::array<char, n> 要慢得多。我是否有办法动态修改无锁队列所识别的元素大小?是否需要修改源代码才能实现?
内容来源: cameron314/concurrentqueue