我有一个相对较小的csv文件(~2000行)。我需要读取每一行并执行Web API调用。我选择的方法非常简单:
这种方法虽然有效,但却非常简单。能告诉我一个有效,快捷的方法吗?我不擅长.Net / C#中的并行编程。任何指针都将受到赞赏。
注意:我不是要求确切的代码,我正在寻找关于如何做到这一点的解释,但是代码的示例非常受欢迎。
答案 0 :(得分:1)
如果您已经编写了该方法并且只查找了并行性,那么您可以使用Task Parallel Library。
任务并行库(TPL)基于任务的概念,它表示异步操作。在某些方面,任务类似于线程或ThreadPool工作项,但处于更高的抽象级别。术语任务并行是指同时运行的一个或多个独立任务。任务提供两个主要好处: 更高效,更可扩展的系统资源使用。 在幕后,任务排队到ThreadPool,后者已经使用算法进行了增强,这些算法可以确定并调整线程数,并提供负载平衡以最大化吞吐量。这使得任务相对轻量级,您可以创建其中的许多任务以实现细粒度的并行性。 比线程或工作项更多的程序控制。 围绕它们构建的任务和框架提供了丰富的API,支持等待,取消,延续,强大的异常处理,详细状态,自定义计划等。
但是,如果您希望优化代码,则必须发布代码。一个非常好的CSV阅读器已经存在here。