标签: c++ multithreading hashtable lock-free
多个生产者 - 一个消费者。生产者编写标记(uint64)值,消费者逐一读取它。消费者必须使用相同的标签读取最后一个值。
现在我有一个简单的无锁队列。因此,消费者必须检查整个队列以获得具有相同标记的最后添加值。
我想用哈希表替换队列,并使用相同的标记写入新值而不是旧值。读者应该如何获得它?它应该从hash-table中删除最后一个值,还是应该减少输入队列以实现只有一个带有哈希表缓冲区的标记或...?
另外,建议我使用C ++库,它具有无锁哈希表实现,coz boost不会。