何时在 iOS 开发中使用多线程处理



除了繁重的处理之外,当您的UI响应速度不太快时,是否应该主要使用多线程? 还是有其他考虑因素?我如何知道我的应用程序是否应该具有多线程?

线程在ios中的重要应用之一是在网络通信期间。整个应用程序是与服务器的通信,如果您想在UR UI上显示繁忙视图,则需要在这种情况下创建线程以在后台线程中执行网络通信。

在IOS 5中,您可以选择GCD(Grand Central Dispatch)而不是线程来执行相同的功能。

基本上,在iOS开发中,当您不想影响您UI需要很长时间才能完成的process时,会使用Threads。 例如,当您connection解析XML,JSON,图像数据等时,您不想停止用户interaction那时您可以使用threads

您可以使用 NSThread 启动线程。

使用线程之前要记住的事项 -

  • 切勿在线程中进行图形更改。如果需要
    在线程中,您只能在main thread上执行。
  • 切勿在辅助thread中使用NSTimer,因为您的thread可能会在执行之前完成timer因此计时器可能无法运行。

每当您想执行长process时,都可以使用 thread .

在ios中使用线程是为了确保最终用户的无喧嚣和无缝体验。每当想要通过网络提取某些资源(例如解析或数据检索)并且不希望 UI 受到影响时,都可以实现线程,因为应用程序将在主线程上运行,而 Web 操作将在自定义线程上运行。

当您需要并发操作或同时操作时,例如在游戏中,当您同时在同一对象上有多个动画时,您可能希望使用该线程。可能有相当多的方案可能需要线程。

您可以阅读 Apple 的并发编程指南

和线程管理

但是线程可能是应用程序中的开销,因为它需要内存分配,并且线程上的大型操作可能会影响性能,因此在无法避免时使用它。

您可以使用NSThread,NSOperations来创建线程。GCD 现已弃用。

最新更新