![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
走向后山
你的价值来自你的行动
展开
-
ios - 多线程之一:概念介绍
多线程及其相关概念字面意思:多线程,多个线程相关名词介绍进程什么是进程?进程是指在系统中正在运行的一个应用程序。e.g.:比如同时打开微信和QQ,系统就会分别启动两个进程。每个进程之间是相互独立的,不受影响的,并且运行在它们专用的受保护的内存空间内。也就意味着一个进程是不能访问另一个进程的独有空间的可以通过MAC系统中的活动监视器来查看进程进程的五态模型新建进程刚刚被创建,还没有被提交的状态原创 2017-05-11 15:14:02 · 956 阅读 · 0 评论 -
ios - 多线程之十:GCD_after
dispatch_after : 延迟操作直接上代码演示: //GCD - dispatch_after 执行延时操作;——不会堵塞线程/* 参数: DISPATCH_TIME_NOW : 从什么时间开始延时(从当前时间开始延时) (int64_t)(20 * NSEC_PER_SEC) :延时时长( NSEC_PER_SEC 以秒为单位) dispatch_g原创 2017-05-12 15:20:45 · 413 阅读 · 0 评论 -
ios - 多线程之九:GCD_once
dispatch_once 常用于单例 : 只创建一次,如果不对对象进行销毁的话,它会一直存放于内存当中。代码说明下:1:创建单例文件 2:.h文件中生命类方法+ (instancetype) initWithName:(NSString *)nameString;3:.m文件中实现static ShareObject *object = nil;+ (instancetype) initW原创 2017-05-12 15:18:19 · 423 阅读 · 0 评论 -
ios - 多线程之八:GCD线程组
在我们的实际开发过程中会碰到这样的问题,只有当任务1和任务2都完成之后才能执行任务3,这种情况下就需要线程组的出现来解决这类问题。常用方法注意事项:使用线程组的方法来创建任务是没有同步任务的,创建按钮入口UIButton *btn5 = [UIButton buttonWithType:UIButtonTypeCustom];btn5.frame = CGRectMake(40, 350, 100原创 2017-05-12 15:17:10 · 1760 阅读 · 0 评论 -
ios - 多线程之七:GCD并行
接以上项目,我们开始 GCD 并行队列的使用创建按钮入口UIButton *btn4 = [UIButton buttonWithType:UIButtonTypeCustom];btn4.frame = CGRectMake(40, 300, 100, 40);[btn4 setTitle:@"GCD并行" forState:UIControlStateNormal];[btn4 setBa原创 2017-05-12 15:15:06 · 885 阅读 · 0 评论 -
ios - 多线程之六:GCD串行
在之前的项目技术上,我们进行学习1:创建入口按钮//第三种方式 GCDUIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];btn2.frame = CGRectMake(40, 250, 100, 40);[btn2 setTitle:@"GCD串行" forState:UIControlStateNormal];[bt原创 2017-05-12 15:13:10 · 842 阅读 · 0 评论 -
ios - 多线程之五:GCD
简单介绍GCD 是苹果为了解决多核的并行运算提出的一套解决方案,它可以合理的利用更多的 cpu 内核,它可以自动的管理线程的生命周期,比如说线程创建,任务调度,销毁线程。我们只需要告诉 GCD 要干什么;GCD 是基于 C 语言,同时呢GCD 又引入了 block 语法块, 使用起来更加方便和灵活,基本开发人员都是使用 GCD 来实现一些多线程的开发。概念介绍同步 & 异步 这点是针对于任务而言的原创 2017-05-12 15:12:17 · 769 阅读 · 0 评论 -
ios - 多线程之四:线程锁
假如我们在功能的实现过程中,类中有一个全局变量,我们创建了多个线程去同时改变或者使用这个变量,会出现什么问题?线程锁就是用来解决多线程之间对资源共享的问题;思路在上文《多线程之三》的基础之上进行演示,模仿多个地点进行售票的案例。代码展示1:创建按钮 //问题 : 当多个线程执行某一块相同代码,需要线程锁进行保护原创 2017-05-12 15:10:59 · 788 阅读 · 0 评论 -
ios - 多线程之三:NSThread
NSThread 线程解决方案是经过苹果封装后的,并且是完全面向对象的,基于此呢,我们就可以直接来操作线程对象,比较直观。思路在viewController中添加一个按钮,点击按钮执行 NSThread 线程管理。原创 2017-05-12 15:09:17 · 703 阅读 · 0 评论 -
ios - 多线程之二:pThread
在很多操作系统上都会用到的API,可移植性特别强。基于C语言框架,在开发过程中极少用到。在很多面试中对该线程使用都很少提及。那么好,我们言归正传,以代码的形式给大家讲解用法和注意事项。——————思路:在界面上安排一个按钮,当点击按钮时,执行 pThread 多线程;代码演示:1:创建项目;2:在ViewController里面添加按钮,代码如下: //第一种方式 pThreadUIButt原创 2017-05-12 15:08:09 · 807 阅读 · 0 评论 -
ios - 多线程之十一:NSOperation
NSOperation 是抽象类,所以要用子类来进行线程使用;目前是三种方式: 1:NSInvocationOperation 2:NSBlockOperation 3:创建子类继承自 NSOperation###1:NSInvocationOperation NSInvocationOperation : 可以理解为是一个为 @selecto原创 2017-05-12 15:22:09 · 443 阅读 · 0 评论