iOS线程依赖

1.线程依赖.
目前在 iOS 和 OS X 中有两套先进的同步 API 可供我们使用:NSOperation 和 GCD 。其中 GCD 是基于 C 的底层的 API ,而 NSOperation 则是 GCD 实现的 Objective-C API。 虽然 NSOperation 是基于 GCD 实现的,我们可以用NSOperation 轻易的实现一些 GCD 要写大量代码的事情。
操作队列(operation queue)是由 GCD 提供的一个队列模型的 Cocoa 抽象。GCD 提供了更加底层的控制,而操作队列则在 GCD 之上实现了一些方便的功能,这些功能对于 app 的开发者来说通常是最好最安全的选择。

//NSOperationQueue 线程之前添加依赖操作
-(void)dependency{
    /**
     假设有A、B、C三个操作,要求:
     1. 3个操作都异步执行
     2. 操作C依赖于操作B
     3. 操作B依赖于操作A
     */
    //创建一个队列
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    //可开辟线程的最大数量
    queue.maxConcurrentOperationCount = 3;

    //创建三个任务
    NSBlockOperation *operationA = [NSBlockOperation blockOperationWithBlock:^{
       NSLog(@"A任务当前线程为:%@", [NSThread currentThread]);
    }];

    NSBlockOperation *operationB = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"B任务当前线程为:%@", [NSThread currentThread]);
    }];

    NSBlockOperation *operationC = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"C任务当前线程为:%@", [NSThread currentThread]);
    }];

    //设置三个任务相互依赖
    // operationB 任务依赖于 operationA
    [operationB addDependency:operationA];
    // operationC 任务依赖于 operationB
    [operationC addDependency:operationB];


    //添加操作到队列中(自动异步执行任务,并发)
    [queue addOperation:operationA];
    [queue addOperation:operationB];
    [queue addOperation:operationC];
}

参考:

  1. http://blog.csdn.net/qxuewei/article/details/50897577
  2. http://blog.csdn.net/jasonblog/article/details/7352483
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,880评论 25赞 708
  • 1.线程依赖.目前在 iOS 和 OS X 中有两套先进的同步 API 可供我们使用:NSOperation 和 ...
    seventhboy阅读 593评论 0赞 1
  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 11,670评论 12赞 197
  • 深夜。 大街上没了白天的喧闹,只有橘色和白色的路灯洒在地上的一片光亮,偶有几辆车驶过,轮胎和柏油马路摩擦发出“哗哗...
    初雪夏霜阅读 410评论 0赞 4
  • 写作时,常有这种情况,有些人写着写着就停笔,总说没灵感,抓耳挠腮、绞尽脑汁都想不出情节来。 而有些人却能轻松在一天...
    毒蛋糕阅读 11,355评论 100赞 272

友情链接更多精彩内容