我发现了几种针对单个生产者-单个消费者的实现,但没有找到针对多个生产者-单个消费者的实现。
Delphi 是否存在“多个生产者-单个消费者”的无锁队列?
最佳答案
来自OmniThreadLibrary的无锁队列支持多个生产者。您可以将它与线程库分开使用(即您可以在任何其他框架中使用 OtlContainers 单元)。
正如 Daniele 下面指出的,OmniThreadLibrary 中有两个队列。 OtlContainers 中的版本支持多个生产者和多个消费者,而 OtlComm 中的“智能”版本(只是更简单版本的包装)仅支持单个生产者/单个消费者。
文档仍然是 OmniThreadLibrary 项目的一个大问题:(。可以找到有关队列的一些信息 here 。
关于delphi - Delphi 是否存在无锁队列 "multiple producers-single consumer"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1083924/