文档章节

GCD笔记

KevinEmily
 KevinEmily
发布于 2016/01/29 14:43
字数 595
阅读 41
收藏 2

1.NSOperation的作用:

 (1)是oc语言中基于GCD的面向对象的封装

 (2)不用关心线程以及线程的生命周期

  1. NSOperation抽象类,通过子类 或者系统提供两个子类。

  2. 队列;一个操作只能被添加到一个队列

  3. NSBlockOperation:创建一个操作;添加操作到队列(并发队列异步执行)

  4.  GCD是ios4.0推出的 主要针对多核cpu做了优化  是c语言的技术

  5. 最大并发数:同时执行的任务数

  6. 暂停取消恢复:创建一个队列->懒加载(最大并发数)->for-in添加操作到队列->延时1秒->

  7. 暂停队列[self.queue setSuspended :YES]队列默认Suspended是no   暂停的是队列中还没有被运行的操作  正在运行的操作不能通过此方法暂停;   继续队列:[self.queue setSuspended :NO];  取消队列:[self.queue cancelAllOperations]取消队列中没有被运行的操作  正在被运行的操作不能通过此方式取消   (当队列suspended == YES时  往队列中再添加操作  不运行)

  8. 拿到队列中的操作数:(self.queue.operationCount)

  9. 操作的优先级(服务质量): 优先级高的不一定先执行

  10.  队列的优先级:优先级高的不一定比优先级低的先运行,有更多的可能被cpu调度

  11. 操作依赖:addDependency  可以跨队列设置依赖关系  操作加入到队列之前设置  同步任务

  12. 图片下载:  Model ->//字典转模型 //懒加载->ATS配置显示界面->图片->模拟网络慢->开启子线程->线程通信->添加操作到队列

  13. app出现的问题:(1)图片显示不出来 ( 因为没有frame) ;(2)当点击或者拖动界面  图片才出来:   cell中的图片是懒加载;(3)设置占位图片:cell一开始创建的时候  就生成imageview的frame(4)自定义cell:每次滚动都下载图片浪费流量(5)内存缓存:保存图片到内存缓存   (6)当网速很慢的时候  来回滚动 一个图片开启多个下载操作 :创建可变数组用于记录执行下载操作  操作缓存 (7)操作缓存   内存不够用:清除内存缓存:清空操作缓存(8)沙盒缓存:存储图片到沙盒

  14. UI线程不安全

Emily.Wang

© 著作权归作者所有

共有 人打赏支持
KevinEmily
粉丝 18
博文 40
码字总数 23590
作品 0
东城
私信 提问
算法学习笔记(1)----最大公约数

求两个整数a,b的最大公约数可用辗转相除法得到,其具体证明如下:假设a>b 假设a=bt+r,即证明gcd(a,b)=gcd(b,r),设gcd(a,b)=c,a=mc,b=nc r=a-bt=mc-ntc=(m-nt)c,则只需证明m-nt与n互素 反证...

亭芳
2014/03/09
0
0
算法分析笔记

定义 ---定义: 若存在正常数 c 和 n0 使得当 N ≥ n0 时 T(N) ≤ cf(N),则记为 若存在正常数 c 和 n0 使得当 N ≥ n0 时 T(N) ≥ cf(N),则记为 当且仅当 且 若 且 , 则 法则: 若 T1(N) ...

lionets
2016/07/03
134
0
用模板静态计算出最大公因子 (几何画板开发笔记 一)

问题提出: 在开发 C++ 版几何图形系统中, 需要求出两个数字的最大公因子, 算法用 C 语言可写出为: int gcd (int x, int y) { if (y == 0) return x; else if (x > y) return gcd (y, x % y);...

刘军兴
2014/05/02
0
0
传智播客学习笔记 网络多线程

主线程处理UI,避免耗时操作 iOS多线程技术有4种 pthread,通用技术,跨平台 c语言,程序员管理生命周期,几乎不用 NSThread 面向对象,可以直接操作线程 OC语言 程序员 管理生命周期,偶尔使...

云飞扬v5
2015/08/11
0
0
OpenCV学习笔记-图像分割之GrabCut

点击打开链接,点击打开链接 grabCut(img, mask, rect, bgdModel, fgdModel, iterCount, mode=None) GCDPRBGD和GCDPRFGD bdgModel,fgdModel: 算法内部使用的数组,只需要创建两个大小为(1,...

qq_36387683
05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0
【分享实录】BANCOR算法详解及代码实现

1 活动基本信息 1)主题:【区块链技术工坊22期】BANCOR算法详解及代码实现 2)议题: BANCOR算法的特点和优劣势 BANCOR算法和举例 如何加入BANCOR.NETWORK交易所 如何开发自己的BANCOR去中心...

HiBlock
昨天
2
0
微信小程序(2)

开始看微信小程序的教程了。刚刚看完官方教程的视图层部分。这里摘录一些自己认为的部分关键点。 1.直接修改数值无法重新渲染,需要使用setData()方法; 2.列表渲染中:wx:key用于保持项目在...

MKjy
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部