阅读csv和执行行动的最佳方式

时间:2013-12-30 10:41:03

标签: c# .net optimization csv parallel-processing

我有一个相对较小的csv文件(~2000行)。我需要读取每一行并执行Web API调用。我选择的方法非常简单:

  • 到达每一行
  • 保存流中的每一行
  • 执行API调用
  • 重复直至EOF

这种方法虽然有效,但却非常简单。能告诉我一个有效,快捷的方法吗?我不擅长.Net / C#中的并行编程。任何指针都将受到赞赏。

注意:我不是要求确切的代码,我正在寻找关于如何做到这一点的解释,但是代码的示例非常受欢迎。

1 个答案:

答案 0 :(得分:1)

如果您已经编写了该方法并且只查找了并行性,那么您可以使用Task Parallel Library

  

任务并行库(TPL)基于任务的概念,它表示异步操作。在某些方面,任务类似于线程或ThreadPool工作项,但处于更高的抽象级别。术语任务并行是指同时运行的一个或多个独立任务。任务提供两个主要好处:   更高效,更可扩展的系统资源使用。   在幕后,任务排队到ThreadPool,后者已经使用算法进行了增强,这些算法可以确定并调整线程数,并提供负载平衡以最大化吞吐量。这使得任务相对轻量级,您可以创建其中的许多任务以实现细粒度的并行性。   比线程或工作项更多的程序控制。   围绕它们构建的任务和框架提供了丰富的API,支持等待,取消,延续,强大的异常处理,详细状态,自定义计划等。

但是,如果您希望优化代码,则必须发布代码。一个非常好的CSV阅读器已经存在here