美文网首页程序员的自我修养
GCD之深入学习知识点备忘4

GCD之深入学习知识点备忘4

作者: yehkong | 来源:发表于2017-05-20 11:35 被阅读3次
  • dispatch semaphore
    1.dispatch semaphore是持有计数的信号,该计数是多线程编程中的计数类型信号。计数为0时等待,计数为1或大于1时,减去1而不等待。
    2.dispatch_semaphore_wait函数等待dispatch semaphore的计数值大于或等于1,当计数值大于等于1,或者等待中计数值大于等于1时,对该计数进行减法并从dispatch_semaphore_wait函数返回。
    3.dispatch_semaphore_wait函数的返回值也与dispat
    ch_group_wait函数相同。
dispatch_time_t time;//定义dispatch_time_t;
long result = dispatch_semaphore_wait(semaphore,time);
if(result == 0){
//在time定义的待机等待时间中如果计数值大于或者等于1,则返回0,可执行需要进行排他控制的任务。任务结束通过dispatch_semaphore_signal函数将dispatch semaphore的计数值加1.
}else{
//计数值为0,因此在等待指定时间后返回非0;
}
  • dispatch_once
    diapatch_once函数是保证在应用程序执行中只执行一次指定的api。
static dispatch_once_t token;
dispatch_once(&token,^{
});

这个函数比用控制变量控制更可靠。

相关文章

  • GCD之深入学习知识点备忘4

    dispatch semaphore1.dispatch semaphore是持有计数的信号,该计数是多线程编程中...

  • GCD相关知识点

    GCD相关知识点 多线程技术--GCD 深入学习GCD GCD 深入理解:第一部分 GCD 深入理解:第二部分 1...

  • GCD之深入学习知识点备忘2

    继续总结和备忘: dispatch_barrier_async函数该函数会等待追加到concurrent disp...

  • GCD之深入学习知识点备忘1

    序言:这边文章总结一些比较琐碎的知识点。 系统提供了dispatch_queue_create来生成serial ...

  • GCD

    iOS多线程 Swift4 GCD深入解析swift GCD 的一些高级用法GCD 之线程组(Dispatch G...

  • 温故而知新

    收录文章,没事的时候复习一下 Runloop 深入理解RunLoop +1 GCD 深入浅出 GCD 之 disp...

  • GCD串行并发队列

    学习完本篇,您会对以下知识点更加理解: 队列 串行队列 并发队列 GCD全局队列 GCD主队列 创建串行队列 创建...

  • 利用GCD构建反应快,效率高的App

    本文文章来自WWDC, 学习笔记,纯属备忘利用GCD构建反应快,效率高的App WWDC https://deve...

  • 深入学习GCD之dispatch_group

    之前已经介绍了dispatch_semaphore的底层实现,dispatch_group的实现是基于前者的。在看...

  • 开始 GCD

    GCD的第一次接触 上一篇文章,从这里开始学习GCD。 GCD的使用-- 摘自唐巧的技术博客 GCD之dispat...

网友评论

    本文标题:GCD之深入学习知识点备忘4

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