【发布时间】:2011-10-02 12:27:20
【问题描述】:
好吧,我已经搜索了好几天,但没有我想要实现的示例。目前我可以使用任务进行多线程爬行,但写得非常糟糕。你可以从这里看到整个代码:
现在我的问题来了。我想使用 System.Threading.Tasks.Task 进行多线程。开发的是 microsoft visual studio 2010 和 C# 4.0。
我需要的是
1-) 我想一直保持一定数量的任务运行。因此,当一个线程完成其工作时,另一个线程应该立即开始工作。通过这种方式,一定数量的线程将始终处于活动状态。
2-) 我需要能够在运行时提供任务变量。所以想想我有一个链接池。我从前 100 个开始,但可以说第 45 个任务首先完成。因此将创建另一个任务,该任务将占用第 101 个链接。当另一个完成时,它将以这种方式继续,并且始终有一定数量的任务将处于活动状态。
3-) 我需要能够收集任务的结果。任务完成后以某种方式收集结果。这部分似乎是最简单的部分。
我发现的哪个任务示例只显示了 2 个任务或 3 个任务,使某些变量在运行时没有改变,也没有使某些数字保持活动状态。多线程应用程序是未来,但文档太糟糕了。
【问题讨论】:
标签: c# c#-4.0 parallel-processing task multitasking