dispatch_semaphore_create(long value); // 創(chuàng)建信號量dispatch_semaphore_signal(dispatch_semaphore_t deem); // 發(fā)送信號量 信號量會加1,釋放資源,相當于解鎖
dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); // 等待信號量转砖,如果信號量為0則等待寇荧。否則往下執(zhí)行并且信號量減1.相當于加鎖
標準用法例子
dispatch_semaphore_t _semaphore =?dispatch_semaphore_create(1)
dispatch_semaphore_wait(_semaphore,DISPATCH_TIME_FOREVER)
需要加鎖的代碼
dispatch_semaphore_signal(_semaphore);?