c# - 在 .Net 中实现并行任务队列

标签 c# .net multithreading task-parallel-library

图片胜于 Eloquent ,这就是我想要实现的基本目标:
(为了通用和简单起见,我还使用了水果类比)
enter image description here

我在过去使用不同的 .Net 类之王(BackGroundWOrkers、ThreadPool、Self Made Stuff...)做过很多次这种事情

我在这里提问是为了获得建议并获得有关如何有效执行此操作的新想法。
这是一个高计算程序,所以我收到数百万(结构相似但内容不同)数据,这些数据必须排队才能根据其内容类型进行处理。因此,我想避免为每个要处理的数据创建一个并行任务(这会使 CPU 过载并且是糟糕的设计恕我直言)。这就是为什么我想到只为每种数据类型运行一个线程,专门用于处理它(知道“压榨果汁”方法是通用的并且独立于要压榨的水果)

欢迎提出任何想法和实现建议。
我可以自由地提供任何进一步的细节。

最佳答案

TPL DataFlow似乎是一个非常强大的候选人。

Take a read of the intro here.

关于c# - 在 .Net 中实现并行任务队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212931/

相关文章:

C# MaskedTextBox 十进制货币显示不正确

.net - Graphics.DrawRectangle 在第二个屏幕上缺少边缘

c# - 没有实现的 C# 类如何有效?

c# - 调用Parallel.Foreach中的方法并将结果保存到线程安全列表中

c - 使用线程的状态菜单

c# - 处理应用程序重新设计

c# - Azure Blob 存储生成无效的共享访问签名

c# - 网页倒计时器和自动提交

c# - 我如何判断异常是否被故意抛出?

java - 为什么我们必须使用相同的 volatile 字段来使用 volatile 关键字建立 happens-before 关系?