如何在Xamarin Android中等待处理程序线程完成?

时间:2018-11-17 19:29:00

标签: java c# android xamarin xamarin.android

在函数继续执行之前如何等待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

1 个答案:

答案 0 :(得分:0)

在理解线程的工作方式时,这似乎是一个问题。您创建了一个后台线程,这样就不必为了完成许多其他用途而花费大量时间来阻塞主线程,

与您的情况类似,方法StartGain()将在300ms延迟后在主线程上执行,因此,如果您不想等待,请删除延迟和处理程序,然后以正常流程运行它。如果该方法返回的值需要进一步的计算,则在继续之前,请在单独的后台线程中运行它。