美文网首页
iOS-Block的递归调用

iOS-Block的递归调用

作者: chsasaw | 来源:发表于2016-08-13 21:22 被阅读1301次

在看线程锁时,无意间看到block的递归调用,之前一直没有想怎么进行block递归调用,这里记录一下。

    static NSRecursiveLock *lock;
    
    if (lock == nil) {
        
        lock = [[NSRecursiveLock alloc] init];
        
    }
    
    static void (^__block DoLog)(int) = ^(int value){
        
        [lock lock];
        
        if (value > 0) {
            
            DoLog(value-1);
            
        }
        
        NSLog(@"value is %d", value);
        
        [lock unlock];
        
    };
    
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        
        NSLog(@"test begin");
        
        DoLog(5);
        
        NSLog(@"test end");
        
    });

相关文章

  • iOS-Block的递归调用

    在看线程锁时,无意间看到block的递归调用,之前一直没有想怎么进行block递归调用,这里记录一下。

  • 递归调用

    什么是递归调用 递归调用就是在本函数中连续不断地对自身函数进行调用。 递归调用注意点 递归调用函数要有明确的某一或...

  • [每天进步一点点~] 递归与闭包

    1.递归 【定义】:在自己函数的内部调用自己(自己调用自己) (函数自调用) 。递归函数 简单举例?: 阶乘的递归...

  • Python 递归调用与二分法

    递归调用与二分法 1、递归调用 递归调用:在调用一个函数的过程中,直接或间接地调用了函数本身. 递归的执行分为两个...

  • 重复

    递归在自己的定义中调用自己的函数叫做递归函数(Recursive Function)。 尾递归普通的递归调用并不高...

  • 递归与分治

    递归(Recursion):指函数的定义中调用函数自身的方法。 递归调用过程: 举个很好玩的栗子: 用递归调用输出...

  • 单信js——4难点部分

    递归: 递归函数是指在函数内部调用函数自身。注意:递归的出口:什么情况下结束调用递归的入口:什么情况下调用自已 /...

  • 函数递归调用

    在函数里调用自己的行为:函数递归调用 递归调用一定要有最后一次递归时的终止条件,如果没有,会导致无限调用,导致调用...

  • iOS-Block本质

    iOS-Block本质 参考篇:iOS-Block浅谈[https://www.jianshu.com/p/25a...

  • js递归

    递归 递归的概念在程序中函数直接或间接调用自己直接调用自己简介调用自己跳出结构,有了跳出才有结果思想递归的调用,最...

网友评论

      本文标题:iOS-Block的递归调用

      本文链接:https://www.haomeiwen.com/subject/ijhysttx.html