What is the benefit of using async
with the ASP.NET QueueBackgroundWorkItem
method?
HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =>
{
var result = await LongRunningMethodAsync();
// etc.
});
My understanding is that async functions are used to prevent long-running tasks from blocking the main thread. However, in this case aren't we executing the task in its own thread anyway? What is the advantage over the non-async version:
HostingEnvironment.QueueBackgroundWorkItem(cancellationToken =>
{
var result = LongRunningMethod();
// etc.
});
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…