在函数继续执行之前如何等待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
答案 0 :(得分:0)
在理解线程的工作方式时,这似乎是一个问题。您创建了一个后台线程,这样就不必为了完成许多其他用途而花费大量时间来阻塞主线程,
与您的情况类似,方法StartGain()
将在300ms延迟后在主线程上执行,因此,如果您不想等待,请删除延迟和处理程序,然后以正常流程运行它。如果该方法返回的值需要进一步的计算,则在继续之前,请在单独的后台线程中运行它。