4

是否可以实现一个完全无需等待并且可以同时支持多个写入器和读取器的并发队列?我知道我可以使用互斥锁或现有库,但我真的想自己实现它。有什么想法吗?

4

1 回答 1

9

您可以在此处找到多个入队和出队的免等待队列,但正如@David Schwartz 所说,这不一定会更快,因为无需等待。 是另一篇关于无等待队列的论文。在这些论文的参考资料中,您还可以找到其他基于数组的队列,这意味着它们的容量有限,但它们比基于列表的队列更快。

如果您正在寻找实用的解决方案,Michael 和 Scott 的无锁队列可能是一个不错的选择。

如果您想了解更多信息并自己尝试一下,在这里您可以找到可能替代方案的良好简历,并且有一些代码示例。

于 2013-07-14T13:07:17.530 回答