一、前言部分 最近在面试,重新温习了一遍多线程,希望加深一遍对于多线程的理解。 1、什么是进程? 1).要了解线程我们必须先了解进程,通俗来讲进程就是在系统中运行的一个应用程序。 2).每个线程之间是独立存在的,分别运行在其专用的且受保护的内存空间中。 3).比如打开QQ或Xcode系统会分别开启两 ...
分类:
移动开发 时间:
2016-05-15 14:03:44
阅读次数:
375
iOS多线程知识总结 1. iOS中苹果提供4钟方案来帮助我们实现多线程: (1) 纯C语言的pthread,偏底层,需要程序员手动管理线程的生命周期,基本不用。 (2) OC语言的NSTread,需要手动管理线程生命周期,偶尔调试用来获取当前线程[NSTread currentTread/main ...
分类:
移动开发 时间:
2016-05-13 18:46:41
阅读次数:
220
本文讲创建分线程的方法。
第一种:直接调用NSObject的方法
第二种:利用NSThread创建新线程
第三种:创建NSOperation,并加入到队列NSOperationQueue中
第四种:GCD (grand central dispatch)线程优化技术
第一种:直接调用NSObject的方法所有的类都是NSObject的子类,因此都继承了这些方法:- (void)performSele...
分类:
移动开发 时间:
2016-05-13 04:02:25
阅读次数:
210
iOS有三种多线程编程技术,分别是:
1)NSThread
2)NSOperation
3)GCD(全称:Grand Central Dispatch)
这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的
三中方式的优缺点:
1)NSThread:
优点:NSThread比其他两个轻量级
缺点:...
分类:
移动开发 时间:
2016-05-13 03:41:53
阅读次数:
266
正文: 1 iOS和OS X中多线程基本概念 1.1 了解GCD 1.1.1 iOS和OS X中,实现多线程编程的方式。 (1)NSThread,调用方便,但需要手动管理线程生命周期,功能较简单,适用于简单实现多线程需求。(2)NSOperation &NSOperationQueue,苹果官方对G ...
分类:
移动开发 时间:
2016-05-11 15:03:17
阅读次数:
195
今天我们在这里了解一下GCD 1.什么是GCD? GCD全称Grand Central Dispatch,我们通俗的翻译叫牛逼的中心调度。 2.我们用GCD干什么? 通过 GCD,开发者不用再直接跟线程打交道了,只需要向队列中添加代码块即可,GCD 在后端管理着一个线程池。GCD 不仅决定着你的代码 ...
分类:
移动开发 时间:
2016-05-09 18:44:38
阅读次数:
195
在IOS开发中,多线程的实现方式主要有三种,NSThread、NSOperation和GCD,我前面博客中对NSOperation和GCD有了较为详细的实现,可以参考《iOS多线程开发——NSOperation/NSOperationQueue浅析》《iOS多线程开发——GCD的使用与多线程开发浅析》。以及对于多线程中的同步异步,并行串行等概念,我在《GCD实践——串行队列/并发队列与iOS多线程...
分类:
移动开发 时间:
2016-05-09 01:44:14
阅读次数:
215
2.NSOperation
2.1 NSOperation基本使用
(1)相关概念01 NSOperation是对GCD的包装
02 两个核心概念【队列+操作】
(2)基本使用01 NSOperation本身是抽象类,只能只有它的子类
02 三个子类分别是:NSBlockOperation、NSInvocationOperation以及自定义继承自NSOperation的类
03 NSOperati...
分类:
移动开发 时间:
2016-05-06 12:40:42
阅读次数:
217
2.pthread(1)pthread的基本使用(需要包含头文件#import /*
第一个参数:线程对象
第二个参数:线程属性
第三个参数:void *(*)(void *) 指向函数的指针
第四个参数:传递给该函数的参数
*/
int pthread_create(pthread_t * __restrict, const pthread_at...
分类:
移动开发 时间:
2016-05-06 12:24:28
阅读次数:
203