iOS多线程
2016-02-24 22:03
441 查看
进程:
1.正在进行中的程序被称为进程,负责程序运行的内存分配
2.每个进程都有自己独立的虚拟空间
线程:
1.线程是进程中一个独立的执行路径(控制单元)
2.一个进程中至少包含一条线程,即主线程
3.可以将耗时的执行路径(如:网络请求)放在其他线程中执行
总结:创建线程的目的就是为了开启一条新的执行路径,运行指定的代码,与主线程的代码实现同时运行。
主线程栈区有1M,而子线程只有512K。而子线程在未完成进程任务的时候,是不能被杀死的,但是可以将其休眠,暂停。当子线程的进程任务
完成之后,系统才会回收子线程。
多线程的优势:
1.充分发挥多核处理器优势,将不同线程任务分配给不同的处理器,真正进入“并行运算”状态。
2.将耗时的人物分配到其他线程执行,由主线程负责统一更新界面会使应用更加流畅,用户体验更好
3.将硬件处理器的数量增加,程序会运行更快,而程序无需做任何调整
弊端:新建线程会消耗内存空间和CPU时间,线程太多会降低系统的运行性能
误区:多线程技术是为了并发执行多项任务,不会提高单个算法本身的执行效率
iOS中三种多线程技术:
NSThread:
1.使用NSThread对象建立一个线程非常方便
2.使用NSThread管理多个线程非常困难,不推荐使用
3.使用最多的【NSThread currentThread 】获取当前线程,适用于NSThread,NSOperation,GCD这三种技术
NSOperation/NSOperation Queue:
1.是使用GCD实现的一套OC的API
2.是面向对象的线程技术
3.提供了一些在GCD中不容易实现的特性,如:限制最大的 并发数量,操作之间的依赖关系
GCD(Grand Central Dispatch)
1.是基于C语言的底层API
2.是Block定义任务,使用起来灵活便捷
3.提供了更多的控制能力以及操作队列中所不能使用的底层函数。
1.正在进行中的程序被称为进程,负责程序运行的内存分配
2.每个进程都有自己独立的虚拟空间
线程:
1.线程是进程中一个独立的执行路径(控制单元)
2.一个进程中至少包含一条线程,即主线程
3.可以将耗时的执行路径(如:网络请求)放在其他线程中执行
总结:创建线程的目的就是为了开启一条新的执行路径,运行指定的代码,与主线程的代码实现同时运行。
主线程栈区有1M,而子线程只有512K。而子线程在未完成进程任务的时候,是不能被杀死的,但是可以将其休眠,暂停。当子线程的进程任务
完成之后,系统才会回收子线程。
多线程的优势:
1.充分发挥多核处理器优势,将不同线程任务分配给不同的处理器,真正进入“并行运算”状态。
2.将耗时的人物分配到其他线程执行,由主线程负责统一更新界面会使应用更加流畅,用户体验更好
3.将硬件处理器的数量增加,程序会运行更快,而程序无需做任何调整
弊端:新建线程会消耗内存空间和CPU时间,线程太多会降低系统的运行性能
误区:多线程技术是为了并发执行多项任务,不会提高单个算法本身的执行效率
iOS中三种多线程技术:
NSThread:
1.使用NSThread对象建立一个线程非常方便
2.使用NSThread管理多个线程非常困难,不推荐使用
3.使用最多的【NSThread currentThread 】获取当前线程,适用于NSThread,NSOperation,GCD这三种技术
NSOperation/NSOperation Queue:
1.是使用GCD实现的一套OC的API
2.是面向对象的线程技术
3.提供了一些在GCD中不容易实现的特性,如:限制最大的 并发数量,操作之间的依赖关系
GCD(Grand Central Dispatch)
1.是基于C语言的底层API
2.是Block定义任务,使用起来灵活便捷
3.提供了更多的控制能力以及操作队列中所不能使用的底层函数。
相关文章推荐
- IOS基础之 (十一) 内存管理 ARC
- iOS中容易造成循环引用的三种场景
- 解决CCEditBox 在iOS9下导致场景偏移的问题
- iOS arc和mrc下重写set方法
- iOS NSTimer定时器详解
- IOS中的数据存储 简单总结
- iOS 开发中用户记住账户,密码
- Missing iOS Distribution signing identity for ...
- iOS 创建单例的两种方法
- iOS中的应用启动原理
- 【转】【iOS测试系列】常用测试小插件的使用
- iOS 设置group类型tableview的section间距
- IOS开发学习之OC的消息机制。
- iOS 开发小结
- ios学习----------SDWebImage框架解析(3)
- ios 如何通过XIB 或者storyboard 创建headView 和footerView?
- ios 将颜色转化为图片
- nagios监控环境搭建
- IOS学习记录之Protocol和delegate
- ios 暂无聊天消息设置