《IOS多线程基础》
2015-12-15 22:28
330 查看
《IOS多线程基础》
1、 ios多线程的规则: 必须在主线程中更新UI
2、GCD:
a、Grand Centrol Dispatch(GCD)是苹果开发的一个多核变成的较新的解决方法
b、便于使用
代码演示:
3、NSOperation/NSOperationQueue:
a、在GCD的基础上实现的
b、更好的控制和处理大量的并发操作
c、速度稍慢D速度稍慢
代码演示:
4、NSThread
a、NSThread比其他两个轻量级
b、需要自己管理线程的声明周期,线程同步。
代码演示:
1、 ios多线程的规则: 必须在主线程中更新UI
2、GCD:
a、Grand Centrol Dispatch(GCD)是苹果开发的一个多核变成的较新的解决方法
b、便于使用
代码演示:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_DEFAULT,0), { // 这里执行异步操作,例如网络请求数据 dispatch_async(dispatch_get_main_queue(), { // 这里执行主线程操作,例如在主线程更新UI }
3、NSOperation/NSOperationQueue:
a、在GCD的基础上实现的
b、更好的控制和处理大量的并发操作
c、速度稍慢D速度稍慢
代码演示:
// 创建一个操作,用于包含一个子线程操作 let myOperation = NSBlockOperation() { // 子线程需要执行的操作 这里模拟一个方法叫async() self.async() } // 将创建好的操作添加到操作队列中,这里的方法默认创建了一个操作队列,添加进去之后就可以执行操作 NSOperationQueue().addOperation(myOperation) func async() { self.requestData() dispatch_async(dispatch_get_main_queue(), { // 这里执行主线程操作,例如在主线程中更新UI }) } // 这里执行异步操s例如网络请求数据 func requetData(){ // 操作 }
4、NSThread
a、NSThread比其他两个轻量级
b、需要自己管理线程的声明周期,线程同步。
代码演示:
NSThread.detachNewThreadSelector("async",toTarget:self , withObject: nil)
相关文章推荐
- iOS中的蓝牙
- iOS 开发中“宏”的高级使用——单利
- iOS9新特性
- 手把手教你做iOS推送
- iOS优秀开源项目
- iOS 版本更新提示、新特性启动页面思路 —— HERO博客
- iOS运行原理笔记 by STP
- iOS---自动处理键盘事件的第三方库:IQKeyboardManager
- iOS-浅谈runtime运行时机制02-runtime简单使用
- iOS-浅谈runtime运行时机制01-类与对象的内部结构
- iOS的图表显示的实现
- iOS减小导航栏button响应范围
- ios下fixed回复框bug的解决方案
- iOS切图的尺寸
- iOS开发--Block容易造成循环引用
- Mac OS 、Xcode、iOS版本更新时间
- 如何处理iOS中照片的方向
- IOS开发-加载本地音乐
- iOS支付宝在ios应用上的开发[转]
- 在Mac OSX下编译用于iOS的FreeType静态库