在功能继续之前,如何等待handler.PostDelayed
完成?
int num = null;
public int DoSomething()
{
var handler = new Handler();
handler.PostDelayed(() => StartCapital(), 10);
handler.PostDelayed(() =>
{
num = StartGain();
}, 300);
return num;
}
如何在
Wait
中使StartGain()
方法线程完成?该方法需要一些时间才能完成,并且它所在的函数返回null 最佳答案
在理解线程的工作方式时,这看起来像是一个问题。您创建了一个后台线程,这样就不必在很多其他用途中阻塞主线程来完成一些庞大的过程,
就像您的情况一样,方法StartGain()
将在延迟300ms之后在主线程上执行,因此,如果您不想等待,请删除延迟和处理程序,然后以正常流程运行它。如果该方法返回的值需要进一步的计算,则在继续之前,请在单独的后台线程中运行它。