有没有与java.util.concurrent.Executor相当的.Net库?

12

有一组长时间运行的离散任务:从文本文件解析数万行,将其转换为对象,进行操作并持久化。

如果我要在Java中实现这个功能,我可能会为文件中的每一行添加一个新的任务到Executor,或者每X行添加一个任务(例如:分块)。

对于我正在使用的.NET,我不太确定。我怀疑CCR也许是适当的选择,但我对它不够熟悉,这就是我提出这个问题的原因。

CCR能否以与Java Executors等效的方式运作,还是有其他可用的方法?

谢谢

5个回答

5

您可能需要查看任务并行库

从C# 5开始,使用asyncawait关键字将其内置到语言中。


链接似乎已经失效。 - Matt Ingenthron

1

1

如果你要问一群.NET的人什么最接近于Java Executors,可能最好还是描述一下Java Executors的特点。知道答案的人可能并不比你对.NET更熟悉。

话虽如此,如果已经提到的任务并行库对你的需求来说过于复杂,或者你不想等待.NET 4.0,那么也许ThreadPool.QueueUserWorkItem()正是你所需要的。


0
BackgroundWorker类可能是您要寻找的。顾名思义,它允许您运行后台任务,并自动管理池和状态更新事件。

1
Java的Executor可以做更多的事情。例如,请参见http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ThreadPoolExecutor.html。 - Eugene Yokota

0
对于任何寻找更现代化解决方案的人(就像我一样),可以查看EventLoopScheduler类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接