iOS多线程相关操作

一.简介

 iOS的三种主要的多线程编程技术,分别是:

1.NSThread
2.NSOperationQueue
3.GCD(Grand Central Dispatch)

三种方式抽象度层次从低到高,抽象度越高使用越简单,也是APPLE推荐的.

NSThread:
1.相对来讲,是轻量级的多线程实现方式;
2.需要自己管理线程的生命周期和线程同步,线程同步对数据的加锁会有一定的系统开销,一般使用Cocoa thread技术,程序猿工作量稍大一点;
3.是真正的多线程

Cocoa operation:
1. Cocoa operation 相关的类是 NSOperation ,NSOperationQueue。NSOperation是个抽象类,使用它必须用它的子类,可以实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。创建NSOperation子类的对象,把对象添加到NSOperationQueue队列里执行。
2.不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上

GCD:
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法,是基于C开发的一种多线程方式,在iOS4.0开始之后才能使用。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术。 

二.实现方法

1.NSThread:

    //NSThread第一种方式

    [NSThread detachNewThreadSelector:@selector(buttonAction) toTarget:self withObject:nil];

    //NSThread第二种方式

    NSThread * myThread = [[NSThread alloc]initWithTarget:self selector:@selector(buttonAction) object:nil];

    [myThread start];







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值