我想在 C# 中创建一个并行管道。我声明了一个名为 IOperation 的接口:
public interface IOperation<Tin, Tout>
{
BlockingCollection<Tout> BlockingCollection(IEnumerable<Tin> input);
}
现在我想编写一个类,它可以并行执行多个这些操作。我对此感到厌烦:
public class Pipeline : IPipeline
{
private List<IOperation<Object, Object>> operations = new List<IOperation<Object, Object>>();
private List<BlockingCollection<Object>> buffers = new List<BlockingCollection<Object>>();
public void Register(IOperation<Object, Object> operation)
{
operations.Add(operation);
}
public void Execute()
{
}
}
但我没有找到任何解决方案来保存操作和操作之间的缓冲区,因为它们都有不同的泛型类型。有人有想法吗?