iOS 常见知识点(一):Runtime

iOS 常见知识点(二):RunLoop

锁是最常用的同步工具。一段代码段在同一个时间只能允许被有限个线程访问,比如一个线程 A 进入需要保护代码之前添加简单的互斥锁,另一个线程 B 就无法访问,只有等待前一个线程 A 执行完被保护的代码后解锁,B 线程才能访问被保护代码。

iOS 中的八大锁

NSLock

@protocol NSLocking

- (void)lock;

- (void)unlock;

@end

@interface NSLock : NSObject  {

<a href='http://www.jobbole.com/members/kaishu6296'>@private</a>

void *_priv;

}

- (BOOL)tryLock;

- (BOOL)lockBeforeDate:(NSDate *)limit;

@property (nullable, copy) NSString *name NS_AVAILABLE(10_5, 2_0);

@end

NSLock 遵循 NSLocking 协议,lock 方法是加锁,unlock 是解锁,tryLock 是尝试加锁,如果失败的话返回 NO,lockBeforeDate: 是在指定Date之前尝试加锁,如果在指定时间之前都不能加锁,则返回NO。

举个

最新文章

  1. unicode编码与utf-8 区别
  2. hadoop2.4.1集群搭建
  3. idea 使用
  4. zookeeper初识之原理
  5. 使用自定义模板为Myeclipse添加新建Filter的功能
  6. python的 map,filter, reduce, enumerate
  7. jsp文件上传、下载
  8. Android开发进阶:如何读写Android文件
  9. 通过自动回复机器人学Mybatis 笔记:接口式编程
  10. 初学Servlet之继承GenericServlet
  11. 重复造轮子,编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)
  12. mysql 随机数 rand使用
  13. Redis在CentOS和Windows安装过程
  14. php 限制类的对象类型
  15. ajax模拟获取json
  16. talend openstudio 在OracleInput组件中guess Schema 出现Database connection is failed 的错误
  17. CAFFE 调试
  18. pyCharm最新2017激活码
  19. hadoop学习笔记(七):Java HDFS API
  20. [BZOJ2683]简单题/[BZOJ1176][BalkanOI2007]Mokia

热门文章

  1. JPA---一对一关系
  2. java问题若干
  3. bug描述注意点
  4. NAND FLASH 原理
  5. javascript设计模式8
  6. 【转载】free查看内存
  7. HW6.15
  8. python 定义函数
  9. ECSHOP 数据库结构说明 (适用版本v2.7.3)
  10. EASYUI- EASYUI左移右移 GRID中值