SDWebImage学习笔记(三):SDWebImageDownloaderOperation每张图片的下载都有一个Operation操作,操作的创建和加入已在方法 中进行。 操作的初始化方法为: SDWebImageDownloaderOperation遵守 SDW...
@老马的春天 还想问个问题,就是disposition=NSURLSessionAuthChallengePerformDefaultHandling,难道意味着放弃这次https的请求么?
SDWebImage学习笔记(三):SDWebImageDownloaderOperation每张图片的下载都有一个Operation操作,操作的创建和加入已在方法 中进行。 操作的初始化方法为: SDWebImageDownloaderOperation遵守 SDW...
@老马的春天 嗯,作者在项目中在使用同步锁之外,还而外使用barrier来进行同步的处理,考虑的东西比较多啊
SDWebImage学习笔记(三):SDWebImageDownloaderOperation每张图片的下载都有一个Operation操作,操作的创建和加入已在方法 中进行。 操作的初始化方法为: SDWebImageDownloaderOperation遵守 SDW...
@老马的春天 您说的operation线程在执行start到一半的时候,其他线程修改了对应的operation的相关属性还是当前线程中session回调修改了对应的operation的相关属性?哈哈哈,不要见怪哈,期望多多交流
SDWebImage学习笔记(三):SDWebImageDownloaderOperation每张图片的下载都有一个Operation操作,操作的创建和加入已在方法 中进行。 操作的初始化方法为: SDWebImageDownloaderOperation遵守 SDW...
- (void)start {
//先加一把线程锁,保证执行到这里的时候只有当前线程在执行下面的方法
@synchronized (self) {
//如果下载操作被取消了
if (self.isCancelled) {
self.finished = YES;
//把下载相关的属性置为nil
[self reset];
return;
}
博主,你说这个@synchronized (self)是同步线程防止其他线程访问self操作。我想说的是,在OperationQueue里面的block已经是异步操作了,相同的url占用同一个operation,这个operation也只会在第一个创建并加入到operationqueue之后才会调用start,并且session回调也是在当前线程的,针对当前线程也是同步的,所以你说的“ //先加一把线程锁,保证执行到这里的时候只有当前线程在执行下面的方法
@synchronized (self) {
//如果下载操作被取消了“这个是这样说的,但是作者真正加这个锁的原因是什么?能说明下么?
一行行看SDWebImage源码(二)最近真的真的太太太忙了,都是抽空写的,各种事情,html,iOS客户端升级,炸了 上一篇我们基本上看完了SDWebImage整个工作流程,下面我们具体看一下缓存下载图片中涉及...