IOS多线程
沐阳_
这个作者很懒,什么都没留下…
展开
-
iOS开发多线程—03线程安全
iOS开发多线程篇—线程安全 一、多线程的安全隐患 资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象、同一个变量、同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题 示例一: 示例二: 问题代码: 1 // 2 // YYViewController.m 3 // 05-线原创 2015-06-07 16:52:19 · 396 阅读 · 0 评论 -
iOS中的多线程
iOS中的多线程 首先来了解什么是多线程,进程和线程的区别. 进程: 正在进行中的程序被称为进程,负责程序运行的内存分配; 每一个进程都有自己独立的虚拟内存空间. 线程:(主线程最大占1M的栈区空间,每条子线程最大占512K的栈区空间) 线程是进程中一个独立的执行路径(控制单元); 一个进原创 2015-07-07 13:49:29 · 356 阅读 · 0 评论 -
iOS开发多线程—05GCD介绍
iOS开发多线程篇—GCD介绍 一、简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 程序员只需要告转载 2015-06-07 16:55:30 · 424 阅读 · 0 评论 -
IOS开发多线程—08GCD的常见用法
开发多线程篇—GCD的常见用法 一、延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) withObject:nil afterDelay:2.0]; // 2秒后再调用self的run方法 (2)使用GCD函数 dispatch_after(dispatch_ti原创 2015-06-07 21:16:50 · 443 阅读 · 0 评论 -
iOS开发多线程—07GCD的基本使用
iOS开发多线程篇—GCD的基本使用 一、主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行。 提示:如果把任务放到主队列中进行处理,那么不论处理函数是异步的还是同步的都不会开启新的线程。 获取主队列的方式: dispatch_queue_t queue=dispatch_get_main_queue();转载 2015-06-07 21:14:30 · 439 阅读 · 0 评论 -
iOS开发多线程—01多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一、进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ、Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少要转载 2015-06-07 16:51:17 · 365 阅读 · 0 评论 -
iOS开发多线程—10NSOperation基本操作
iOS开发多线程篇—NSOperation基本操作 一、并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数。 (3)最⼤大并发数的相关⽅方法 - (NSInteger)maxConcurrentOperationCount; - (void)setMaxConcurrentOperationCou转载 2015-06-07 21:19:40 · 393 阅读 · 0 评论 -
iOS开发多线程—09NSOperation简单介绍
iOS开发多线程篇—NSOperation简单介绍 一、NSOperation简介 1.简单说明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: (1)先将需要执行的操作封装到一个NSOperation对象中 (2)然后将NSOperatio转载 2015-06-07 21:17:14 · 398 阅读 · 0 评论 -
iOS开发多线程—04线程间的通信
iOS开发多线程篇—线程间的通信 一、简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 线程间通信常用方法 - (void)performSelectorOnMainThread:(SEL)aSelector withOb原创 2015-06-07 16:54:35 · 427 阅读 · 0 评论 -
iOS开发多线程—02创建线程
iOS开发多线程篇—创建线程 一、创建和启动线程简单说明 一个NSThread对象就代表一条线程 创建、启动线程 (1) NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [thread start]; // 线程一启动,就会在线程thread中原创 2015-06-07 16:51:08 · 369 阅读 · 0 评论 -
iOS开发多线程—06线程的状态
iOS开发多线程篇—线程的状态 一、简单介绍 线程的创建: self.thread=[[NSThread alloc]initWithTarget:self selector:@selector(test) object:nil]; 说明:创建线程有多种方式,这里不做过多的介绍。 线程的开启: [self.thread start]; 线程的运行和阻塞: (1)设置转载 2015-06-07 16:55:37 · 356 阅读 · 0 评论 -
iOS多线程个人总结
零、线程的注意点(掌握) 1.不要同时开太多的线程(1~3条线程即可,不要超过5条) 2.线程概念 1> 主线程 : UI线程,显示、刷新UI界面,处理UI控件的事件 2> 子线程 : 后台线程,异步线程 3.不要把耗时的操作放在主线程,要放在子线程中执行 一、NSThread(掌握) 1.创建和启动线程的3种方式 1> 先创建,后启动 // 创建 NS原创 2015-07-07 14:08:46 · 395 阅读 · 0 评论