在IOS中为什么使用多线程及多线程实现的三种方法

 我来答
C我想我是海
2016-01-23 · 知道合伙人软件行家
C我想我是海
知道合伙人软件行家
采纳数:1187 获赞数:4514
IT工程师

向TA提问 私信TA
展开全部

在iOS中使用多线程是为了让我们的页面不卡,提高用户体验。多线程实现的几种方法如下。

  1. NSThread。这是最轻量级的多线程的方法,使用起来最直观的多线程编程方法。但是因为需要自己管理线程的生命周期,线程同步。经常使用NSThread进行调试,在实际项目中不推荐使用。

  2. GCD(Grand Central Dispatch),GCD是基于C语言底层API实现的一套多线程并发机制,非常的灵活方便,在实际的开发中使用很广泛。简单来说CGD就是把 操作 放在 队列 中去执行。

  3. NSOperation & NSOperationQueue,虽然GCD的功能已经很强大了,但是它使用的API依然是C语言的。在某些时候,在面向对象的objective-c中使用起来非常的不方便和不安全。所以苹果公司把GCD中的操作抽象成NSOperation对象,把队列抽象成NSOperationQueue对象。

星月小木木
2016-01-20 · TA获得超过3.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9916万
展开全部
  在java5以前实现多线程有两种方法(继承Thread类和实现Runnable接口)
  它们分别为:
  使用new Thread()和new Thread(Runnable)形式
  第一种直接调用thread的run方法,所以,往往使用Thread子类,即new SubThread()。
  第二种调用
  Runnable的run方法。
  第一种:
  new Thread(){}.start();这表示调用Thread子类对象的run方法,new Thread(){}表示一个Thread的匿名子类的实例对象,子类加上run方法后的代码如下:
  new Thread(){
  public void run(){
  }
  }.start();
  第二种:
  new Thread(
  new Runnable(){}
  ).start();
  这表示调用Thread对象接受的Runnable对象的run方法,new Runnable(){}表示一个Runnable的匿名子类的实例对象,
  runnable的子类加上run方法后的代码如下:
  new Thread(new Runnable(){
  public void run(){
  }
  }
  ).start();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式