文档章节

GCD笔记

KevinEmily
 KevinEmily
发布于 2016/01/29 14:43
字数 595
阅读 41
收藏 2
点赞 1
评论 0

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

算法分析笔记

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

lionets ⋅ 2016/07/03 ⋅ 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

传智播客学习笔记 网络多线程

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

云飞扬v5 ⋅ 2015/08/11 ⋅ 0

iOS优化笔记

刚刚优化下一个iOS应用的性能。 主要是TableView滚动的性能。 重点: 多用GCD,注意_block变量邓生命周期。 sleep是非常有效果的,只当sleep于次要线程的时候。...

LinkerLin ⋅ 2011/11/23 ⋅ 3

OpenCV学习笔记-图像分割之GrabCut

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

qq_36387683 ⋅ 05/30 ⋅ 0

Swift4.0开发笔记

目录 1、ATS配置 2、状态栏全局变亮白 3、懒加载 4、内存泄漏 5、常用的第三方库 6、反射机制 7、运行时 8、MD5加密 9、聊天界面 10、多线程GCD 11、 启动图尺寸大小 1、ATS配置 App 网络htt...

星星编程 ⋅ 2017/11/03 ⋅ 0

关于多线程的一些笔记📒

1.创建定时源: /*1.间隔时间;2.对象;3.方法;4.自定义参数;5.是否重复*/ 2.把定时源加入到当前线程的消息循环中 /*1.定时源;2.模式(1)NSDefaultRunLoopMode:拖动界面timer不运...

KevinEmily ⋅ 2016/01/27 ⋅ 2

iOS笔记(一)GCD多线程:信号量和条件锁

1.信号量 dispatchsemaphoret 在NSOperation中,可以直接设置最大并发数来控制并发数量,在GCD中,控制并发数量由信号量来完成。 信号量是一个整形值并且具有一个初始计数值,并且支持两个操...

悟空我腿有点酸 ⋅ 2015/10/17 ⋅ 0

BZOJ4028 [HEOI2015]公约数数列 分块

给定一个数列,要求资磁以下两种操作: 1.单点修改. 2.求数列中最前的位置p,使前缀最大公约数gcd*前缀异或和xor==一个输入的数x. 考虑分块+暴力. 按照分块,求出每一块的前缀gcd和前缀xor. ...

Wolf_Reiser ⋅ 2017/11/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 20分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 21分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 23分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 37分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 41分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 43分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 44分钟前 ⋅ 0

Deepin 操作系统四面楚歌

作为国内做的最好的 Linux 发行版,源自 Debian sid 的 Deepin 目前正面临重重困境,新版本不断延期,开发人员离职,bug 长期得不到修复,和 Debian/Ubuntu 的兼容性问题也面临越来越严重的挑...

六库科技 ⋅ 44分钟前 ⋅ 0

MyBatis之动态sql

我们需要知道的是,使用mybatis重点是对sql的灵活解析和处理。在原先的UserMappser.xml中,我们这样查询表中满足条件的记录 : 123 <select id="findUserList" parameterType="userQuery...

瑟青豆 ⋅ 45分钟前 ⋅ 0

这届俄罗斯世界杯的冷门那么多怎么办?

最纯粹的世界杯,最神奇的大冷门。 德国0比1被墨西哥摩擦了。 日本历史性的赢了哥伦比亚。 C罗也挑平了西班牙。 梅西被冰岛狮吼吼愣神了。 就连11次进世界杯4强的巴西也被瑞士逼平了。 天台已...

开源中国众包平台 ⋅ 45分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部