什么时候在iOS开发中使用多线程?

时间:2012-05-12 04:34:23

标签: ios multithreading

除了繁重的处理之外,如果你的用户界面响应不太好,主要应该使用多线程吗?还是有其他考虑因素? 我怎么知道我的应用程序是否是否有多线程?

3 个答案:

答案 0 :(得分:0)

基本上iOS开发Threads用于您不希望UI影响process,这需要很长时间才能完成。例如,当您使用connection来解析xml,json,图像数据等时,您不希望在此时停止用户interaction,您可以使用threads

您可以使用NSThread开始一个帖子。

使用线程之前需要注意的事项 -

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

只要您想执行很长的process,就可以使用thread

答案 1 :(得分:0)

线程在ios中的重要应用之一是在网络通信期间。你的应用程序是否正在与服务器通信,如果你想在UR UI上显示忙视图,你需要在这样的场景中创建线程以在后台线程中执行网络通信

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

答案 2 :(得分:-2)

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

当你需要同时进行并发操作时,你可能想要使用该线程,比如在游戏中你需要同时在同一个对象上有多个动画。可能有很多场景可能需要线程化

您可以阅读Concurrency Programming Guide By Apple

Thread Management

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

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