Swift - 多线程实现方式(1) - NSThread
2015-09-26 18:55
513 查看
1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术:
(1)NSThread
(2)Cocoa NSOperation(NSOperation和NSOperationQueue)
(3)Grand Central Dispath(GCD)
2,本文着重介绍NSThread
NSTread在三种多线程技术中是最轻量级的,但需要自己管理线程的生命周期和线程同步。线程同步对数据的加锁会有一定的系统开销。
3,NSThread的两种创建方式
(1)直接创建线程并且自动运行线程
(2)先创建一个线程对象,然后手动运行线程,在运行线程操作之前可以设置线程的优先级等线程信息。
4,线程同步
线程同步方法通过锁来实现,每个线程都只用一个锁,这个锁与一个特定的线程关联。下面演示两个线程之间的同步。
输出结果:
(1)NSThread
(2)Cocoa NSOperation(NSOperation和NSOperationQueue)
(3)Grand Central Dispath(GCD)
2,本文着重介绍NSThread
NSTread在三种多线程技术中是最轻量级的,但需要自己管理线程的生命周期和线程同步。线程同步对数据的加锁会有一定的系统开销。
3,NSThread的两种创建方式
(1)直接创建线程并且自动运行线程
(2)先创建一个线程对象,然后手动运行线程,在运行线程操作之前可以设置线程的优先级等线程信息。
线程同步方法通过锁来实现,每个线程都只用一个锁,这个锁与一个特定的线程关联。下面演示两个线程之间的同步。
相关文章推荐
- Swift - 内存泄露原因(循环强引用)及解决办法
- Swift - 字符串(String)用法详解
- Swift - 使用下划线(_)来分隔数值中的数字
- Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
- Swift - 跳跃吃苹果游戏开发(SpriteKit游戏开发)
- Swift - 多层无缝循环滚动背景(SpriteKit游戏开发)
- Swift - 跑酷游戏开发(SpriteKit游戏开发)
- Swift - 获取屏幕点击坐标下所有对象(SpriteKit游戏开发)
- Swift - 使用atlas图集实现动画效果(SpriteKit游戏开发)
- Swift - 在界面上生成81个随机红,灰色圆点(SpriteKit游戏开发)
- Swift学习笔记3——String和Character
- Swift - 创建并设置背景(SpriteKit游戏开发)
- Swift - 一步步教你使用SpriteKit创建开发游戏项目
- Swift - 本地消息的推送通知(附样例)
- Swift - 动态添加删除TableView的单元格(以及内部元件)
- Swift - 使用TableView的静态单元格进行页面布局
- Swift - 数组排序方法(附样例)
- Swift - 程序进入后台,以及应用终止时调用的方法
- Swift - 列表项尾部附件点击响应(感叹号,箭头等)
- Swift - 纯代码实现页面segue跳转,以及参数传递