Gra*_*ush 7 multithreading task-parallel-library c#-4.0
我正在学习如何使用TPL来简化我的应用程序.应用程序处理ZIP文件,提取其中保存的所有文件并将内容导入数据库.可能有几千个zip文件等待在给定时间处理.
我是否正确为每个ZIP文件启动单独的任务,或者这是使用TPL的低效方式?
谢谢.
这似乎是一个更适合使用 ThreadPool 而不是 TPL 管理的工作线程(每个文件都有单独的线程)的问题。当您可以分割并征服单个数据项但您的 zip 文件被单独处理时,TPL 非常有用。
光盘 I/O 将成为您的瓶颈,因此我认为您需要限制同时运行的作业数量。使用工作线程来管理这个很简单,但我不确定你对 for、foreach 的并行有多少控制(如果有的话),以及并行如何立即进行,这可能会阻塞你的进程并实际上减慢它的速度。
归档时间: |
|
查看次数: |
1535 次 |
最近记录: |