C# 通用.Net生产者/消费者
为了好玩,我想在C#中实现一个通用的生产者/消费者对+处理队列。其思想是,您只需创建实现适当的IProducer和IConsumer接口(提供的默认实现)的对象,这些接口主要由委托组成,将它们传递给C# 通用.Net生产者/消费者,c#,.net,multithreading,producer-consumer,C#,.net,Multithreading,Producer Consumer,为了好玩,我想在C#中实现一个通用的生产者/消费者对+处理队列。其思想是,您只需创建实现适当的IProducer和IConsumer接口(提供的默认实现)的对象,这些接口主要由委托组成,将它们传递给QueueProcessor类实例,告诉它您需要多少消费者,然后执行 但我对自己说,“赛尔夫,这肯定是以前做过的。” 那么,有谁知道C#中生产者/消费者模式的一个好的、通用的实现(VB.Net也可以)?我正在寻找的基本要求: 对生成和使用的类型(输入、排队任务和输出类型,或其任意组合)使用泛型 允许
QueueProcessor
类实例,告诉它您需要多少消费者,然后执行
但我对自己说,“赛尔夫,这肯定是以前做过的。”
那么,有谁知道C#中生产者/消费者模式的一个好的、通用的实现(VB.Net也可以)?我正在寻找的基本要求:
- 对生成和使用的类型(输入、排队任务和输出类型,或其任意组合)使用泛型
- 允许您指定有多少消费者将在队列中工作
- 允许您将多个队列链接或链接到一个管道中(我知道,对于多个消费者来说很棘手)
- 允许您实现自己的生产者和消费者
- 允许您将任何IEnumerable转换为生产者(如果我必须自己实现,则可以,只要有可能)
- 基于委托(您可以使用lambda语法处理基本消费者或生产者工作的单个项目)
这是一些代码示例和用法说明。