任务开始延迟

Task starts with delay

我按以下方式创建和启动任务:

 Task task = new Task(() => controller.Play());
 task.Start();

出于某种原因,有时任务会延迟 7-10 秒左右启动。 我并行使用 6 个任务,最大任务数为 32767,可用任务数为 32759 这是我在创建任务之前记录的内容,因此不可能达到最大任务数。我在任务应该执行的 controller.Play() 方法的第一行代码中写日志,所以没有锁或任何可以让任务等待的东西。

长 运行ning 任务,比如需要 10 秒的 100MB 反序列化,嗯,好吧,运行 as long-running tasks :-)

Long-运行ning 任务,根据当前的实现,总是 运行 在专用线程上,它们不会对线程池施加压力。

在你的情况下,你可能只有两个任务——反序列化​​和播放器。 TaskScheduler 的工作假设任务是短暂的,在这种情况下,它显然将 "player" 任务安排到 "deserializaion" 任务之后的 运行。