美文网首页iOS基础控件iOS Developer
关于GCD-记一个特别sb的问题,居然掉坑里了

关于GCD-记一个特别sb的问题,居然掉坑里了

作者: jy__Lu | 来源:发表于2016-11-04 13:07 被阅读66次

在sunny的博客里看到这样一个面试题

//以下代码运行结果如何?

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"1");
    dispatch_sync(dispatch_get_main_queue(), ^{
        NSLog(@"2");
    });
    NSLog(@"3");
}

开始一看,哇擦,很简单啊,正常打印就好了啊,然后手贱的试了一下,根本不是那么回事啊,会死锁啊,这也看出来个人基础稍微有点差啊

我们这样来看,程序执行到gcd这一步的时候,会将block添加到主队列尾等待执行,但是又同时用了sync同步函数,同步函数就是我的block没有执行你就别往下走了,等着,我搞完了你才能接着执行,但是呢,它所添加的这个block又在队列最后,必须要等到前面的任务执行完之后才能执行到,所以争执不下干脆程序就罢工了

从这里我们也可以看出在主线程中一定不要使用同步主队列方式添加任务,要不然是会crush掉的

相关文章

  • 关于GCD-记一个特别sb的问题,居然掉坑里了

    在sunny的博客里看到这样一个面试题 开始一看,哇擦,很简单啊,正常打印就好了啊,然后手贱的试了一下,根本不是那...

  • 掉坑里了

    余娜 讲师五期 分享第,466天 2018.07.08 儿子最近总是爱发脾气,想让他学会控制自己的脾气,就给他讲了...

  • 掉坑里了?

    在当我醒来的时候,我已经躺在医务室了,看了看墙上的表,现在刚刚进入午休时间,我就准备起身下床,不过这个时候医务...

  • 掉坑里了

    “别放手,千万别放手,扶稳咯,啊~~~” 好了,掉坑里了! 还记得你第一次学自行车的时候是什么样子的吗?说说我第一...

  • 掉坑里了

    有些坑 老天早就安排好了一定要你掉进去 无论多么小心翼翼 终究还是躲不过 于是 只好再次被生活教做人

  • 掉坑里了

    掉坑里了,昨天很郁闷,一大早领导就把我叫去,原来是因为昨天综合部经理饭卡,换了弄好让他找我们经理签字的事情。本来这...

  • 掉坑里了

    最近在回想过去的一年,今天又重看了《通往财富自由之路》 刚看了开头,就惊呆了。 掉进了著名的三大坑。 莫名其妙凑热...

  • 掉坑里了

  • 掉坑里了

    李大爷迷上了美篇,但是过于拘谨,太注重格式,整体完整,反而看不到平常的风格和水平。 我就跟他说:“不要拘泥于格式,...

  • 掉坑里了

    今早继续和儿子撑伞上学。对于新铺路上预留的井盖坑,他昨天就想去踩踩,因为坑里装满了水,但被我劝止步了。 今早雨小,...

网友评论

本文标题:关于GCD-记一个特别sb的问题,居然掉坑里了

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