我应该在哪里创建我的线程?(objective - c)



什么是开始一个新的线程的最好的地方?我应该在应用程序委托中创建它,还是可以从任何其他类(例如单例)启动它?

谢谢你的帮助

如果要加入线程,则通常希望在创建站点本地(或可访问)创建线程,或者在同一对象的实现中创建线程。当你想要当前线程的执行阻塞,直到线程/任务完成时,你通常会加入或使用基于任务的接口。

如果分离(可能是如果您的allocNSThread或使用detach...调用),那么它可以在程序流中最有意义的地方创建。

这意味着在这两种情况下都应该支持"本地"而不是集中式。

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

从注释中提取细节:如果你创建一个分离的线程来与服务器交互,那么在你的实现中创建一个与服务器交互的线程,或者与这些实现交互的客户端代码,可能是一个好主意。当因果关系不需要集中时,应用委托不是一个好的选择。

最新更新