如何在 C# 中自动释放任务,直到完成

本文关键字:任务 释放 | 更新日期: 2023-09-27 17:57:23

我希望单个任务在结束后自动处理。

在此代码中,我运行并行任务并等待它们的结束。WaitAll后,所有任务一起处理。

Task t1 = Task.Run(() => load_1());
Task t2 = Task.Run(() => load_2());
Task t3 = Task.Run(() => load_3());
Task.WaitAll(t1, t2, t3);
t1.Dispose(); t2.Dispose(); t3.Dispose();

如何在 C# 中自动释放任务,直到完成

答案基本上是不任何处置任务的。这个讨论解释了为什么"什么都不做"是正确的

基本上,您将依靠最终确定来处理任务处置,因为从您的简短示例中,您没有做任何特别的事情。

任务几乎从来没有被释放的理由,在任务返回完成状态并且不再需要任务分配的资源后,.NET 会自动执行此操作。