C# .Net Framework 任务处理

Sar*_*hal 2 .net c# dispose using

我想知道为任务实现处理功能是否有任何好处。这操作会有什么不同吗?这会迫使内存清理得更快吗?

Task updateTask = UpdateRemoteAsync()
await updateTask;
Run Code Online (Sandbox Code Playgroud)

VS

using (Task updateTask = UpdateRemoteAsync())
{
    await updateTask;
}
Run Code Online (Sandbox Code Playgroud)

HMZ*_*HMZ 6

在大多数情况下不会,当您处置 a 时,Task您正在处置WaitHandle它们分配的,并且根据 Microsoft 的说法,自 .NET Framework 4.5 以来async/await,该功能根本不会分配,除非您明确需要WaitAllrequire 。WaitAnyIAsyncResult.AsyncWaitHandle

进一步阅读:MS 开发博客