1. 程式人生 > >iOS總結-多執行緒篇之GCD之三

iOS總結-多執行緒篇之GCD之三

dispatch_barrier_async :GCD柵欄方法

dispatch_apply

dispatch_semaphore:GCD訊號量

持有計數的訊號,計數為0時等待,不可通過.計數為1或者大於1時,計數減1且不等待,可通過.

dispatch_semaphore_create 建立一個Semaphore並初始化訊號總量

dispatch_semaphore_signal 傳送一個訊號,讓訊號總量+1

dispatch_semaphore_wait   讓總訊號量-1 ,當訊號量為0時就會一直等待,阻塞所有執行緒,否則可以正常執行.

參考:https://www.jianshu.com/p/2d57c72016c6