使用async/await语法,避免在同步方法中使用异步方法并使用Task.Run()来使异步方法在新线程中执行。
示例代码:
public async Task LongRunningMethodAsync()
{
await Task.Delay(5000);
return "Long running method finished";
}
public void MySyncMethod()
{
Task task = Task.Run(async () => await LongRunningMethodAsync());
Console.WriteLine(task.Result);
}