无锁地图或哈希表还是......?

时间:2014-04-10 09:06:32

标签: c++ multithreading hashtable lock-free

多个生产者 - 一个消费者。生产者编写标记(uint64)值,消费者逐一读取它。消费者必须使用相同的标签读取最后一个值。

现在我有一个简单的无锁队列。因此,消费者必须检查整个队列以获得具有相同标记的最后添加值。

我想用哈希表替换队列,并使用相同的标记写入新值而不是旧值。读者应该如何获得它?它应该从hash-table中删除最后一个值,还是应该减少输入队列以实现只有一个带有哈希表缓冲区的标记或...?

另外,建议我使用C ++库,它具有无锁哈希表实现,coz boost不会。

0 个答案:

没有答案