【发布时间】:2015-10-05 05:23:52
【问题描述】:
我有一个运行一些长算法的问题,所以我在许多任务中都使用它。 虽然 Job 方法在任务中工作,但我有另一种方法来检查所有任务是否已完成或某些任务是否仍在工作。但是 JobChecker 方法给了我 stackoverflow 异常。为什么会出现错误,我该如何解决?
public void Main()
{
while ((line = sr.ReadLine()) != null)
{
string lineTemp = line;
taskList.Add(Task.Run(() => Job(lineTemp, last)));
}
JobChecker(taskList);
}
public void JobChecker(List<Task> taskList)
{
do
{
System.Threading.Thread.Sleep(1000);
}
while (taskList.Any(x => x.Status == TaskStatus.Running));
}
【问题讨论】:
-
你能显示调用堆栈吗?
-
什么是
Job()方法和last变量? -
@EZI Task.WaitAll 解决了我的问题,请让它回答,以便我接受。谢谢
标签: c# .net multitasking