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); 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载请注明出处http://www.cnblogs.com/snailHL/p/3906112.html disp...
    请叫我魔法师阅读 559评论 0 1
  • 锁是一种同步机制,用于多线程环境中对资源访问的限制iOS中常见锁的性能对比图(摘自:ibireme): iOS锁的...
    LiLS阅读 1,553评论 0 6
  • 本文为转载资料,原文地址: http://www.jianshu.com/p/02821f9d7777 一、信号量...
    一曰就是一天阅读 1,193评论 0 3
  • 一:base.h 二:block.h 1. dispatch_block_flags:DISPATCH_BLOCK...
    小暖风阅读 2,496评论 0 0
  • GCD 信号量:dispatch_semaphore 信号量:就是一种可用来控制访问资源的数量的标识,设定了一个信...
    gpylove阅读 189评论 0 0