【发布时间】:2012-12-28 19:58:03
【问题描述】:
假设我有 100 个任务需要 10 秒才能完成。 现在我想一次只运行 10 个,比如当这 10 个任务中的 1 个完成时,另一个任务会被执行,直到所有任务都完成。
现在我总是使用 ThreadPool.QueueUserWorkItem() 来完成此类任务,但我了解到这样做是不好的做法,我应该改用 Tasks。
我的问题是,我没有找到适合我的场景的好例子,所以您能否让我开始了解如何使用 Tasks 实现这一目标?
【问题讨论】:
-
您从哪里了解到使用
ThreadPool是不好的做法? -
我建议阅读一些文章和/或以前的 Stackoverflow 帖子,有很多其他人尝试过的编码示例以及提供答案的地方stackoverflow.com/questions/6192898/… 像我有 C# Stackoverflow ThreadPool.QueueUserWorkItem( )
-
你想要一个阻塞直到所有任务完成的方法,还是你想要一个在所有任务完成后返回
Task的方法? -
它应该阻塞,就像 ThreadPool 一样,但是有任务。 Stackoverflow 上的一些人在代码示例中告诉我 Threadpool 是不好的做法
标签: c# multithreading task