iOS进程、线程相关总结
2015-12-06 23:17
387 查看
iOS进程间通信
CFMessagePort位于Core Foundation层。开源。
iOS7以后不可使用。限于iOS系统多任务机制,使得进程间通信基本只能用于越狱开发。
iOS线程
4套多线程方案。
Pthreads
Linux中POSIX那一套.pthread_create..
NSThread
GCD
为多核的并行运算提出的解决方案,自动合理利用CPU内核,自动管理线程的生命周期。
概念:任务、队列、队列组
队列组,可将并发的三个队列一起完成后,执行某个操作
NSOperation/NSOperationQueue
NSOperation是对GCD的封装,完全面向对象。分别对应任务、队列
每一个线程都有其对应的RunLoop,但是默认非主线程的RunLoop是没有运行的,需要为RunLoop添加至少一个事件源,然后去run它。一般情况下我们是没有必要去启用线程的RunLoop的,除非你在一个单独的线程中需要长久的检测某个事件。
CFMessagePort位于Core Foundation层。开源。
iOS7以后不可使用。限于iOS系统多任务机制,使得进程间通信基本只能用于越狱开发。
iOS线程
4套多线程方案。
Pthreads
Linux中POSIX那一套.pthread_create..
NSThread
GCD
为多核的并行运算提出的解决方案,自动合理利用CPU内核,自动管理线程的生命周期。
概念:任务、队列、队列组
队列组,可将并发的三个队列一起完成后,执行某个操作
NSOperation/NSOperationQueue
NSOperation是对GCD的封装,完全面向对象。分别对应任务、队列
每一个线程都有其对应的RunLoop,但是默认非主线程的RunLoop是没有运行的,需要为RunLoop添加至少一个事件源,然后去run它。一般情况下我们是没有必要去启用线程的RunLoop的,除非你在一个单独的线程中需要长久的检测某个事件。
相关文章推荐
- iOS开发 - 22.实用技术之地图的基本使用
- iOS-Block总结 && 全面解析逆向传值
- 蓝懿iOS 技术内容和心得 12.6
- iOS-性能优化
- 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
- IOS开发记录(二)
- IOS--文件存储
- iOS调试常见错误 如:symbol(s) not found for architecture x86_64
- IOS之nil,Nil,null,Null,NULL,NSNull
- iOS 观察者+通知
- iOS动画和特效(四)controller间的自定义过渡效果
- 框架汇总
- iOS:友盟SDK分享
- OC-框架
- ios 画图
- iOS 轮播图 KDCycleBannerView
- iOS:GitHub上值得关注的iOS开源项目
- iOS多线程——郭挺
- iOS开发~CocoaPods使用详细说明
- iOS:使用集成的支付宝SDK的支付流程