美文网首页iOS-Developer-OC
iOS 多线程顺序执行

iOS 多线程顺序执行

作者: 彩虹下的笑颜 | 来源:发表于2018-08-13 14:58 被阅读0次

经常碰到这种情况,请求一些比较耗时的操作,需要用block,等block内部执行完,再开始根据block获取的数据,执行其他步骤,这时就需要用多线程的顺序执行。

dispatch_group_t grp = dispatch_group_create();    //创建多线程组

    dispatch_group_async(grp, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        dispatch_semaphore_t semp = dispatch_semaphore_create(0); //创建信号量

        myBlock = ^{          //自己的block函数

            dispatch_semaphore_signal(semp);  //执行完通知标识

        }

        dispatch_semaphore_wait(semp, DISPATCH_TIME_FOREVER);// 在请求成功之前等待信号量(-1)

    });

    dispatch_group_notify(grp, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

function()//执行接下来的函数

    });

相关文章

  • iOS 多线程顺序执行

    经常碰到这种情况,请求一些比较耗时的操作,需要用block,等block内部执行完,再开始根据block获取的数据...

  • python——多线程

    多线程-threading 子类完成创建多线程 线程的执行顺序也是主线程和各个子线程随机执行,顺序不确定 线程对全...

  • 线程按指定顺序执行

    在多线程中线程的执行是CPU随机调度的,无法指定线程的执行顺序,比如我们要让多线程按顺序执行输出 这段代码的输出顺...

  • iOS程序执行顺序和UIViewController 的生命周期

    一. iOS程序的启动执行顺序 ** 程序启动顺序图 ** iOS启动原理图.png ** 具体执行流程 ** 程...

  • 多线程顺序执行

    第一种方法是join;第二种方法是线程池newSingleThreadExecutor final Thread ...

  • iOS程序的启动执行顺序

    iOS程序的启动执行顺序 iOS程序的启动执行顺序 1 程序的入口 进入main函数, 设置AppDelegate...

  • 1.2.1线程的启动顺序与start()的执行顺序无关

    执行start()方法的顺序不代表线程启动的顺序。 执行结果 摘选自 java多线程核心编程技术-1.2.1

  • iOS 多线程基础

    转自:iOS 多线程基础 - 简书 多线程同步和异步的区别?IOS中如何实现多线程的同步? 异步:可以同时执行多条...

  • GCD练习

    GCD练习 ios 多线程 GCD : ios 多线程 全剧队列,异步执行 线程间通信 信号量 文件锁 单利模式 ...

  • tableView

    tableView代理的调用顺序 tableView代理方法执行顺序,随着iOS系统版本的不断升级,执行顺序也有所...

网友评论

    本文标题:iOS 多线程顺序执行

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