2011-10-07 70 views
0

开始一个新线程的最佳位置是什么?我应该在应用程序委托中创建它吗,还是可以从任何其他类(例如单例)启动它?我应该在哪里创建我的线程? (Objective-C)

感谢您的帮助

+3

这完全取决于你为什么需要一个新的线程。对于这样一个广泛的问题,答案是应用程序代表,但对于更具体的问题,答案可能会有所不同。 – PengOne

+0

明白了,后台线程会处理与服务器的同步 – iosdevnyc

回答

2

,如果你要加入的线程,那么你通常要创建的线程局部(或访问)创建的网站,或者在同一个对象的实现。当您想要执行线程阻塞时,您通常会加入或使用基于任务的接口,直到线程/任务完成。

如果分离(有可能如果你allocNSThread或使用detach...调用),那么它可能会创建任何最有意义的程序的流程。

这意味着你应该赞成'地方'而不是集中在两种情况下。

如果您使用基于任务的接口(例如NSOperation),那么您可能需要集中许多客户端可能到达操作队列的一些事情(如示例)。

从注释中提取详细信息:如果您创建分离的线程与服务器进行交互,那么在您的实现中创建与服务器交互的线程或者与那些交互的客户端代码可能是一个好主意实现。当原因/结果不需要集中时,应用程序委托并不是一个好选择。

相关问题