我有一个异步调用 (DoAsyncWork()
),我希望以“fire-and-forget”的方式启动它,即我对其结果不感兴趣,并且希望在异步方法完成之前调用线程继续执行。
如何正确地做到这一点?如果有差异,我需要在.NET Framework 4.6和.NET Core 2中都实现。
public async Task<MyResult> DoWorkAsync(){...}
public void StarterA(){
Task.Run(() => DoWorkAsync());
}
public void StarterB(){
Task.Run(async () => await DoWorkAsync());
}
这是其中之一还是其他更好的选择?编辑:最好不要使用额外的库。