多任务控制台应用程序上的 stackoverflow 异常

stackoverflow exception on multitasking console app

我有一个运行一些长算法的程序,所以我在很多任务中都使用它。 当 Job 方法在任务中工作时,我有另一种方法来检查是否所有任务都已完成,或者是否还有一些任务仍在工作。但是 JobChecker 方法给了我 Whosebug 异常。为什么会报错,我该如何解决?

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));
}

与其忙着等待,不如使用 Task.WaitAllTask.WhenAll

等内置函数