GCD中的信号量是指 Dispatch Semaphore
Dispatch Semaphore中,通过“计数”来标识通过和等待。
GCD的Dispatch Semaphore提供了三个函数操作Semaphore:
dispatch_semaphore_create //创建一个semaphore
通过dispatch_semaphore_create 函数创建一个Semaphore并初始化信号的总量。dispatch_semaphore_signal //发送一个信号
通过dispatch_semaphore_signal 函数发送一个信号,让信号总量加1。dispatch_semaphore_wait //等待信号
通过dispatch_semaphore_wait可以使总信号量减1,当信号总量为0时就会一直等待,否则就可以正常执行