理解GCD

作者: davidxwwang | 来源:发表于2016-09-16 22:35 被阅读22次

(1)博客:深入理解GCD

                 理解iOS中的线程池

                 多线程理解

🔒:(1)信号量--》以一个停车场的运作为例。简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆直接进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入外面的一辆进去,如果又离开两辆,则又可以放入两辆,如此往复。在这个停车场系统中,车位是公共资源,每辆车好比一个线程,看门人起的就是信号量的作用。里面的3就是信号量。

wait:当一个线程调用Wait操作时,它要么得到资源然后将信号量减一,要么一直等下去(指放入阻塞队列)直到信号量大于等于一时。

signal:信号量上执行加操作,对应于车辆离开停车场,该操作之所以叫做“释放”是因为释放了由信号量守护的资源。

信号量资源为1情况,就是互斥锁。

队列(queue):队列其实就是一个用来提交 block 的对象。

任务(block)

线程(thread)

GCD会维护一个线程池,执行这些任务。

所以队列不等于线程。

GCD +线程

相关文章

  • GCD相关知识点

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

  • 多线程系列文章

    GCD基础篇 - 同步、异步,并发、并行的理解 GCD中级篇 - dispatch_group的理解及使用 dis...

  • GCD理解

    Dispatch Queues的生成可以有这几种方式: 1.dispatch_queue_tqueue=dispa...

  • 理解GCD

    (1)博客:深入理解GCD 理解iOS中的线程池 多线程理解 ?:(1)信号量--...

  • 面试问题总结

    Runtime理解。 Runloop理解,结合计时器。 GCD常用的方法。 GCD的原理。 KVO和KVC的实现原...

  • GCD 深入理解:第一部分

    GCD 深入理解:第一部分 什么是 GCD GCD 是 libdispatch 的市场名称,而 libdispat...

  • iOS笔记--GCD相关知识

    GCD相关知识 1.GCD(Grand Central Dispatch)教程 2.GCD 深入理解:第一部分 备...

  • GCD之基础

    深入理解 GCD(一) - 博客 - 伯乐在线

  • GCD深入理解学习笔记

    GCD 深入理解第一部分 GCD 深入理解第二部分 如何使用 NSOperations 和 NSOperation...

  • (链接)GCD

    一 通过GCD中的dispatch_barrier_(a)sync所谓等待的理解 二 iOS-GCD之初,disP...

网友评论

    本文标题:理解GCD

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