这样做可能吗?还是说这样做很危险/不好?如果不好的话,还有其他方法可以解决吗?
我尝试实现的是让
void methodA ()
{
while (something) {
// do stuff
methodB();
}
}
async Task methodB()
{
bool b = await methodC();
// do something with b
}
async Task<bool> methodC()
{
await Task.Delay(1000);
}
我尝试实现的是让
methodA
在methodC
等待IO时能够执行其他任务。因此,我希望methodC
在繁忙时返回到methodB
,而由于methodB
等待答案,它将返回到methodA
,在那里methodA
可以继续处理其他任务,并可能再次调用methodB
。
something
是什么,为什么你没有等待调用methodB
的结果? - Justin Niessner