ios加锁之信号量

2019-10-04  本文已影响0人  ios周周

dispatch_semaphore_create(long value); // 创建信号量dispatch_semaphore_signal(dispatch_semaphore_t deem); // 发送信号量 信号量会加1,释放资源,相当于解锁

dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); // 等待信号量,如果信号量为0则等待。否则往下执行并且信号量减1.相当于加锁

标准用法例子

dispatch_semaphore_t _semaphore = dispatch_semaphore_create(1)

dispatch_semaphore_wait(_semaphore,DISPATCH_TIME_FOREVER)

需要加锁的代码

dispatch_semaphore_signal(_semaphore); 

上一篇下一篇

猜你喜欢

热点阅读