NSOperationqueue的一些感悟

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor=[UIColor redColor];

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

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

    NSBlockOperation *operation1=[NSBlockOperation blockOperationWithBlock:^(){
        NSLog(@"执行第一次:%@",[NSThread currentThread]);
    }];

    NSBlockOperation *operation2=[NSBlockOperation blockOperationWithBlock:^(){
        NSLog(@"执行第二次:%@",[NSThread currentThread]);
    }];

    [operation1 addDependency:operation2];
    [queue addOperation:operation1];
    [queue addOperation:operation2 ];

    NSBlockOperation *operation3=[NSBlockOperation blockOperationWithBlock:^(){
        NSLog(@"执行第三次:%@",[NSThread currentThread]);
    }];
    NSBlockOperation *operation4=[NSBlockOperation blockOperationWithBlock:^(){
        NSLog(@"执行第四次:%@",[NSThread currentThread]);
    }];

    [queue2 addOperation:operation4];
    [queue2 addOperation:operation3];

  

2016-05-10 17:00:00.552 testobjectc[2305:152414] 执行第四次:<NSThread: 0x78e89910>{number = 2, name = (null)}
2016-05-10 17:00:00.552 testobjectc[2305:152410] 执行第二次:<NSThread: 0x78e60090>{number = 3, name = (null)}
2016-05-10 17:00:00.553 testobjectc[2305:152415] 执行第三次:<NSThread: 0x78fa4280>{number = 4, name = (null)}
2016-05-10 17:00:00.559 testobjectc[2305:152414] 执行第一次:<NSThread: 0x78e89910>{number = 2, name = (null)}

  

时间: 2024-07-30 00:02:03

NSOperationqueue的一些感悟的相关文章

NSOperationQueue的maxConcurrentOperationCount属性

代码: NSOperationQueue *queue = [[NSOperationQueue alloc] init]; queue.maxConcurrentOperationCount = 2; for (NSUInteger i = 1; i <= 10; ++i) { [queue addOperationWithBlock:^{ NSLog(@"Block %lu", i); [NSThread sleepForTimeInterval:1]; }]; } 输出:

30年职场生涯的感悟[转]

一个人最终成功与否,在多大程度上成功,也并不是最关键的,关键的是做正确的事情,并且把事情做好的能力. 职业生涯就像一场马拉松比赛 正常人大概要工作35年,这好比是一场马拉松比赛,和真正的马拉松比赛不同的是,这场比赛没有职业选手,每个人都只有一次机会.要知道,有很多人甚至坚持不到终点,只有少数人是跑过终点的,因此在刚开始的时候,去抢领先的位置并没有太大的意义. 职业生涯就像一场体育比赛,有初赛.复赛.决赛.初赛的时候大家都刚刚进社会,大多数都是实力一般的人,这时候努力一点认真一点很快就能让人脱颖而

关于学习的一点感悟

首先声明一下:这里的学习并不特指软件学习,是我工作学习中得到的一些感悟. 人不可能理解他没接触过的事物 学习的时候,如果只是枯燥的文字,复杂的公式的话,一些很好的书籍或者只是便成为了催眠良药.知识如果只是一些天外来客一样的存在,直接空降下来,我们如何去理解他呢?我们只能用现有的只是和经验去类比的学习这些知识,或者在日久天长的接触过程中去渐渐学习知识.很显然,前者比后者来的快的多. 如果一样东西,我无从类比,也不能接触.那么穷我有生之年我也不会理解它. 理论知识如何学习? 理论知识通常都是无数先辈

IOS中的多线程【二】— NSOperation和NSOperationQueue

NSOperationQueue是一套基于Objective-c语言的API. GCD与NSOperationQueue的优缺点: NSOperationQueue:比较安全 GCD:没有NSOperationQueue安全,但使用起来简单,快速,还提供了一些操控底层的方法.实际开发中还是以GCD为主. NSOperationQueue实现多线程流程 1.定义一个任务队列. 2.定义一个任务. 3.把任务添加到队列中.一旦任务被添加到队列中,任务会马上被调度执行. 任务队列(NSOperatio

Graph 感悟

感悟: 遍历图上的点先想到宽度优先搜索, 有很多模板 关于图的: 都是宽度优先遍历, 只是对遍历又稍微加了点条件----用hashMap, [ ] ? [ ] [ ], ArrayList[] ?  来存储对应的条件, 对入队的点判断是否满足该条件,进行存储. 简单图求最短路用宽度优先搜索 关于找所有的情况: 一般用深度优先搜索 有向图: 入度和边, 用什么容器, 怎么生成图, 根据什么入队, 出队后怎么遍历其他的边, 并判断入队 题意的分解:拓扑排序,BFS 5.9: 图.节点 ---.nex

二进制感悟

早在上小学就听闻过二进制的大名,而那时只是老师给介绍了一下,上大学时才真正的开始了解二进制.十进制是我们生活中常用到的,那么二进制就是我们计算机常用到的,学习二进制的时候是第二节课,当时,听老师简单的介绍过了感觉很神奇,我就对二进制产生了很大的兴趣. 在生活中,计算机往往是执行者,而简单命令的下达,才能让你与计算机工作的更有效.二进制就是有着这样一个简便的特点,想象一下,在你面前有一排灯泡,1代表开,0代表关,规则是逢二进一.当一个灯泡闪烁时代表1,累加之后需要进位,那么第一个灯泡的1给了第二个

项目感悟 基于8051的数据采集系统-总纲

博文的内容是感想,是我在做一个小作品的时候记录下来的感想.现在将其整理好,分享出来. 我写博文的纲领是隐恶扬善,所以一些不好的事情,闭口不说.但别人对我的好,要尽力写出来. 虽然我不是大牛,感想有时显得有些幼稚,但是我依然希望你能通过我的感想得到一些启发,少走一些弯路. 博文的宗旨是:隐恶扬善. 作品名称:基于8051的数据采集系统 简介:下位机用 8051新手开发板,传感器采集需要的数据,通过USB通信接口发送给上位机,上位机的系统是win 7,用C#的Winform写的串口调试程序接收数据.

【生活感悟系列】感悟在一瞬间(不断完善中)

将日常生活的感悟,总结出来,不断借鉴和感悟. 1. 2016.08.26 周五 1)罗振宇的<成大事者,不纠结>,如沐春风 张廷玉 -- 善始善终,不有妄念. 曾国藩-- 成大事者,不纠结.专注当下,不纠结.

学习感悟2

开学第二天,继学习感悟1开始写学习感悟2 1.今天主要学习了面向对象的编程,Ecmascript主要包括两种属性,1是数据属性,2是访问器属性,其中数据属性有4个描述其行为的特性(configurable.enumerable.writable.value)访问器属性同样也包括4个属性(configurable.enumerable.get.set) 2.面型对象有很多设计模式 (1)工厂模式 function creatPerson(name,age,job){ var o = new Obj