NSBlockOperation添加多个任务

    //创建一个队列
    NSOperationQueue *operation=[[NSOperationQueue alloc]init];

    //把任务放在NSBlockOperation里面
    NSBlockOperation *myOperation=[NSBlockOperation blockOperationWithBlock:^{
        NSData *firstData=[NSData dataWithContentsOfURL:[NSURL URLWithString:KURL1]];

        dispatch_async(dispatch_get_main_queue(), ^{

            _firstImageView.image=[UIImage imageWithData:firstData];
       });

    }];

    //把第二任务添加到操作队列
    [myOperation addExecutionBlock:^{
        NSData *secondData=[NSData dataWithContentsOfURL:[NSURL URLWithString:KURL1]];

        dispatch_async(dispatch_get_main_queue(), ^{

            _secondImageView.image=[UIImage imageWithData:secondData];
        });

    }];
    [operation addOperation:myOperation];
时间: 2024-10-17 10:47:23

NSBlockOperation添加多个任务的相关文章

iOS多线程---NSOperation介绍和使用

1.  NSOperation实现多线程编程,需要和NSOperationQueue一起使用. (1)先将要执行的操作封装到NSOperation中 (2)将NSOperation对象添加到NSOperationQueue中 (3)系统将自动将NSOPeration从NSOperationQueue中取出来,放到一个新的线程中去执行 2.NSOperation 的子类 NSOperation是一个抽象类,并没有封装操作的能力.因此要用到它的子类: (1)NSInvocationOperation

iOS多线程开发之NSOperation - 快上车,没时间解释了!

一.什么是NSOperation? NSOperation是苹果提供的一套多线程解决方案.实际上NSOperation是基于GCD更高一层的封装,但是比GCD更加的面向对象.代码可读性更高.可控性更强,很屌的是加入了操作依赖. 默认情况下,NSOperation单独使用时只能同步执行操作,并没有开辟新线程的能力,只有配合NSOperationQueue才能实现异步执行.讲到这里,我们不难发现GCD和NSOperation实现的方式很像,其实这更像是废话,NSOperation本身就是基于GCD的

iOS多线程编程--NSOperation(转)

这篇文章写得非常不错,基础用法都涉及到了,我把文章提到的例子都写到了demo里面, 原文地址: iOS多线程--彻底学会多线程之『NSOperation』 demo下载:https://github.com/wangdachui/multithreading.git 1. NSOperation简介 NSOperation是苹果提供给我们的一套多线程解决方案.实际上NSOperation是基于GCD更高一层的封装,但是比GCD更简单易用.代码可读性也更高. NSOperation需要配合NSOp

ios多线程 -- NSOperation 简介

NSOperation的作?:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: 1)先将需要执行的操作封装到一个NSOperation对象中 2)然后将NSOperation对象添加到NSOperationQueue中 3)系统会?动将NSOperationQueue中的NSOperation取出来 4)将取出的NSOperation封装的操作放到?条新线程中执? NSOperati

GCD / NSOperation

 GCD 与 NSOperation 的区别 ? 1. GCD 是基于 C 语言写的核心服务, 非常简单高效, 而 NSOperation 是基于 GCD 的一种封装,抽象出来的对象, 所以一般情况下对于任务的依赖和并发数没有要求的情况下, GCD 的效率更高, 开销更小 2. 依赖关系,NSOperation可以设置两个NSOperation之间的依赖,第二个任务依赖于第一个任务完成执行,GCD无法设置依赖关系,不过可以通过dispatch_barrier_async来实现这种效果 3. KV

【iOS开发】多线程下NSOperation、NSBlockOperation、NSInvocationOperation、NSOperationQueue的使用

http://blog.csdn.net/crycheng/article/details/21799611 本篇文章主要介绍下多线程下NSOperation.NSBlockOperation.NSInvocationOperation.NSOperationQueue的使用,列举几个简单的例子. 默认情况下,NSOperation并不具备封装操作的能力,必须使用它的子类,使用NSOperation子类的方式有3种: 1> 自定义子类继承NSOperation,实现内部相应的方法 2> NSB

多线程下NSOperation、NSBlockOperation、NSInvocationOperation、NSOperationQueue的使用

本篇文章主要介绍下多线程下NSOperation.NSBlockOperation.NSInvocationOperation.NSOperationQueue的使用,列举几个简单的例子. 默认情况下,NSOperation并不具备封装操作的能力,必须使用它的子类,使用NSOperation子类的方式有3种: 1> 自定义子类继承NSOperation,实现内部相应的方法 2> NSBlockOperation 3>NSInvocationOperation 这讲先介绍如何用NSOper

NSOperation添加操作依赖和监听

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #008400; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #703daa; background-color: #ffffff } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; fo

Win10下IIS配置、项目发布、添加网站

Win10下IIS配置 1.找到控制面板:[开始]菜单鼠标右击,打开[控制面板] 2.打开控制面板,点击[程序],点击[启用或关闭Windows功能] 下一步,点击[启用虎关闭Windows功能] 3. 开始修改IIS了,我是这样勾上的,有可能比较多. 4. 验证IIS是否正确安装,等待几分钟后IIS配置完成.在浏览器输入http://localhost/iisstart.htm会出现 IIS安装成功页面.第一次修改的时候出现了成功页面,但是后来删除了IIS中默认的网站就打不开了,但是不影响的.