iOS 常见知识点(三):Lock
2024-04-11 10:58:44
锁是最常用的同步工具。一段代码段在同一个时间只能允许被有限个线程访问,比如一个线程 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。
举个
最新文章
- unicode编码与utf-8 区别
- hadoop2.4.1集群搭建
- idea 使用
- zookeeper初识之原理
- 使用自定义模板为Myeclipse添加新建Filter的功能
- python的 map,filter, reduce, enumerate
- jsp文件上传、下载
- Android开发进阶:如何读写Android文件
- 通过自动回复机器人学Mybatis 笔记:接口式编程
- 初学Servlet之继承GenericServlet
- 重复造轮子,编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)
- mysql 随机数 rand使用
- Redis在CentOS和Windows安装过程
- php 限制类的对象类型
- ajax模拟获取json
- talend openstudio 在OracleInput组件中guess Schema 出现Database connection is failed 的错误
- CAFFE 调试
- pyCharm最新2017激活码
- hadoop学习笔记(七):Java HDFS API
- [BZOJ2683]简单题/[BZOJ1176][BalkanOI2007]Mokia