美文网首页
iOS中使用GCD对线程和任务执行顺序的测试

iOS中使用GCD对线程和任务执行顺序的测试

作者: coderSuper | 来源:发表于2018-03-22 16:53 被阅读31次

    GCD多线程测试

    test 串行队列 并发队列 主队列 global队列
    同步执行(synchronized) 不开线程(当前线程)、串行执行 不开线程(当前线程)、串行执行 阻塞(互相等待、形成死锁) 不开线程(当前线程)、串行执行
    异步执行 (asynchronized) 开新线程(1条)、串行执行 开新线程(几条GCD决定)、并发执行 不开新线程(在主线程)、串行执行 开新线程(几条GCD决定)、并发执行

    小结:

    • 同步执行任务

      1. 一定不会开启线程,任务是按顺序串行执行
      2. 如果在主队列执行任务,会引发死锁,阻塞主线程
    • 异步执行任务,,

      1. 在主队列中不开启新线程,任务在主线程串行执行
      2. 在串行队列中,只开启一条线程,任务在线程中串行执行
      3. 在并发队列中(global队列属于并发队列),开启多条线程(具体几条由GCD决定),任务并发执行

    Demo地址

    demo地址

    相关文章

      网友评论

          本文标题:iOS中使用GCD对线程和任务执行顺序的测试

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