【发布时间】:2020-06-16 15:22:02
【问题描述】:
在c#(dotnet core 3.1)中似乎不可能在不阻塞原始线程的情况下从非异步方法调用异步函数。为什么?
代码示例:
public async Task myMethodAsync() {
await Task.Delay(5000);
}
public void callingMethhod() {
myMethodAsync().Wait(); // all flavours of this expression, like f.ex. .Result seem to be blocking the calling thread
}
在异步方法完成之前释放调用线程,然后从那里继续执行的技术限制是什么?这在技术上是不可能的吗?
【问题讨论】:
标签: c# multithreading .net-core async-await