美文网首页
GCD线程同步

GCD线程同步

作者: Faner_NG | 来源:发表于2020-04-08 18:15 被阅读0次

    GCD线程同步


    一 .用于多个线程任务并发完成之后的同步操作

    举例:等abc并发完成全部完成之后,执行d

    (1)  dispatch_group_async

    提交的任务与dispatch_group_notify同步

    (2)dispatch_group_enter  ,dispatch_group_leave

    提交的任务与dispatch_group_notify同步

    二 .用于多个线程任务之间的同步操作

    举例:a完成之后开启b,b完成之后开启c

    (1)dispatch_group_wait 

    与enter,leave配套使用,阻塞当前线程

    dispatch_group_wait(group1,DISPATCH_TIME_FOREVER)上面的任务执行完成后,线程才继续执行。

    (2)dispatch_barrier 

     栅栏函数 ,阻塞后面的并发任务

    (3)dispatch_semaphore   

    信号量

    dispatch_semaphore_signal发信号,表示任务完成

    dispatch_semaphore_wait等信号,阻塞任务,等到之后才开始做任务

    相关文章

      网友评论

          本文标题:GCD线程同步

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