一:创建一个任务队列对象

NSOperationQueue *opretionQueue = [[NSOperationQueue alloc] init];

//设置最大并发任务数量

[opretionQueue setMaxConcurrentOperationCount:5];

    二:三个实现方法

方法一:直接创建任务

//p1:任务函数的拥有者

//p2:任务函数的执行体

//p3:任意参数

NSInvocationOperation *invocationO1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(opAction:) object:nil];

[opretionQueue addOperation:invocationO1];//将任务添加到队列

方法二:使用任务对象创建任务

NSInvocation *invocation = [[NSInvocation alloc] init];

invocation.target = self;

invocation.selector = @selector(opAction:);

NSInvocationOperation *invocationO2 = [[NSInvocationOperation alloc] initWithInvocation:invocation];

[opretionQueue addOperation:invocationO2];

方法三:使用Block来添加任务

[opretionQueue addOperationWithBlock:^{

//任务

}];

转载于:https://www.cnblogs.com/ai-nuonuo/p/5670405.html

NSOperation队列实实现多线程相关推荐

  1. iOS- NSThread/NSOperation/GCD 三种多线程技术的对比及实现

    1.iOS的三种多线程技术 1.NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程) 2.以下两点是苹果专门开发的"并发"技术,使得程序员可以不再去关心 ...

  2. 用队列实现形如a+b@b+a#的中心对称字符的检验

    用队列实现形如a+b@b+a#的中心对称字符的检验 我用网上提供的一种思想,用循环队列实现了这个操作,具体代码如下. /*函数名match,严格来说它并不是Status型*/ Status match ...

  3. Labview2019,通讯三菱plc,用opc和mc通讯协议,sqlite数据库,labview标准框架jki状态机,加上数组队列,实现多线程交互。

    Labview2019,通讯三菱plc,用opc和mc通讯协议,sqlite数据库,labview标准框架jki状态机,加上数组队列,实现多线程交互. _:4550670508310561加菲猫眼

  4. 【多线程】阻塞队列的C++多线程 实现 BlockingQueue

    阻塞队列在存放和获取队列中的数据时需要使用多线程,一个线程专门负责向队列中存放元素,另一个线程专门从队列中获取元素.也可多开辟跟多的线程进行存取. 规范的方法也正是存放和获取队列元素分别在不同的线程中 ...

  5. [译]预留位置队列PRQueue:多线程程序中消息输入队列和消息输出队列保持同序...

    译自: http://accu.org/var/uploads/journals/overload101.pdf 在多线程应用程序中,要求消息输入队列和消息输出队列顺序要求保持一致,而忽略多线程并发处 ...

  6. python队列基本操作与多线程队列

    文章目录 队列基本操作 多线程队列 队列基本操作 from queue import Queueq = Queue(5) # 创建一个容量为5的队列.如果给一个小于0的数,则队列为无限大小.(这是官方 ...

  7. 阻塞队列的应用 || 多线程的条件判断 一定要用while,而不要用 if

    ProdConsTradiDemo.java package thread;import java.util.concurrent.locks.Condition; import java.util. ...

  8. 队列、函数-多线程 线程队列的实现-by小雨

    发一下牢骚和主题无关: 考参他人的方法,自己做了简略修改,现实一个通用的线程队列. #include <stdio.h> #include <pthread.h> #inclu ...

  9. IOS学习之多线程(9)--NSOperation简单介绍

    转载自 http://www.cnblogs.com/wendingding/p/3809042.html 一.NSOperation简介 1.简单说明 NSOperation的作:配合使用NSOpe ...

最新文章

  1. Java项目:晚会抽奖系统(java+Jdbc+Servlet+Ajax+mysql)
  2. 第十五届全国大学生智能车全国总决赛获奖信息-东北赛区
  3. 她说要介绍10000个开源项目?来!一起监督他!
  4. POJ 1821 Fence ★(单调队列优化DP)
  5. Windows下的ping
  6. android fragment 生命周期
  7. 大牛书单 | 消息队列方向的好书
  8. java时间中间加横杠方法_知识点:java一些方法会有横线?以Date 过期方法为例...
  9. openoffice转换pdf 异常问题查找处理 errorCode 525
  10. 认识并学会springCloud的使用
  11. H5上传从微信保存的图片提示格式不对
  12. java gwt_gwt中java与js的相互调用 | 学步园
  13. [转帖]从壹开始前后端分离【重要】║最全的部署方案 最丰富的错误分析
  14. Web——HTML常见标签及用法
  15. 母亲产前压力、胎儿大脑连接和分娩时的胎龄之间的交互关系
  16. 实用常识 | 将PDF文件页面拆分成两个页面(老白嫖怪了)
  17. Excel服务器数据库修改,excel服务器与数据库
  18. 零基础编写图片服务器(1)
  19. 2017年衢州联赛 T2
  20. 知乎问 想找一个linux培训机构,目前看千峰、黑马、达内 北大青鸟等机构,请问哪个好一点?

热门文章

  1. Python中list(列表)
  2. python独立图形_Python图形界面(自学Python系列笔记-4)(不定期更新)
  3. 吴恩达深度学习 ——4.4 为什么使用深层表示
  4. excite-punastranvirtual.lab振动噪声仿真
  5. 由旋转矩阵计算欧拉角的方法
  6. java语句类型_01-java数据类型与语句
  7. MySQL之DQL(查询)语句
  8. python-基础回顾
  9. 21南阳理工oj新生赛Round#5--这是一道防ak题
  10. CubeMX 的使用实例详细(04.6)- STM32F103的 - 定时器设定 - callback调用 - 实现1S的定时更新LED灯