Monotouch线程 - 更好的设计问题

时间:2010-11-19 00:39:52

标签: multithreading xamarin.ios

通常,我需要执行昂贵的任务然后显示结果。所以我提出了一个主题。是否有比我目前使用的更少的代码或更好的方法呢?

示例:

ThreadStart job = new ThreadStart (delegate {
    Search d = new Search ();
    x = d.DoSomeWork();
    InvokeOnMainThread (delegate {
         ctl.Show (x);
          });
});

- 在这里开始线程......

2 个答案:

答案 0 :(得分:6)

您可以使用线程池并简化一些事情。

ThreadPool.QueueUserWorkItem(委托{/ * ... * /});

答案 1 :(得分:4)

正如Kevin所指出的,ThreadPool的使用稍微简单一些。

但是使用ThreadPool还有一个额外的好处:Mono将限制你启动的线程数,帮助你更好地保留设备上有限的资源。