我想知道与Boost.Lockfree FIFO一起使用的好分配器。
我正在使用此库的SPSC队列,以便在关键线程中进行通信。然后使用可变大小的数据块打包该消息。
简单的解决方案是使用现有的,但是哪个?
- Boost.Pool:它是免费锁定的吗?
- Boost.Circular_buffer:它是无锁的吗?
- Boost.Interprocess(据说与lockfree兼容,但我不需要进行间处理)
- tlsf - >这对我的问题来说有点太多了,但为什么不呢(在这种情况下,我可能会使用它来解决这个问题,但是我无法在windows上构建它)
- 手工制作的愚蠢池,其中包含最大消息数据块的常量块大小(可能,这会使用更多的memroy,但目前是我的备份解决方案) - > BTW不能用Boost.Pool做那个吗?
感谢您的想法。