IOS编程之多线程

IOS编程-多线程

 

NSThread

    初始化方法和创建线程的有关参数;

    在主线程执行还是在由主线程创建的子线程执行;

   

 

 

NSOperation and NSOperationQueue

    NSOperation是不能直接拿来调用的,使用其定义好的子类NSInvocationOperation或者自定义其子类重写main方法;

    通过NSOperationQueue中的addOperation:方法来添加操作,然后系统会自动执行相关操作;

 

 

GCD(Grand Center Dispatch)

   

 

 

 

相关资料

     如何控制线程池中的线程数?

队列里可以加入很多个NSOperation, 可以把NSOperationQueue看作一个线程池,可往线程池中添加操作(NSOperation)到队列中。线程池中的线程可看作消费者,从队列中取走操作,并执行它。

通过下面的代码设置:

[queue setMaxConcurrentOperationCount:5];

线程池中的线程数,也就是并发操作数。默认情况下是-1,-1表示没有限制,这样会同时运行队列中的全部的操作

 

注意问题

    同步和异步;

    什么时候用同步什么时候用异步;

    线程数,超出预设的线程数的最大值会怎样,为什么要设线程数;

    执行的线程有没有优先级,执行完成有没有先后顺序;

    线程间通信;

    线程安全,如何让一个方法未执行完之前第二个方法不可以执行;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值