首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/366511

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

iOS:多线程技术GCD的使用

GCD的使用: 1.队列的类型 1.1 主队列:mian queue,主线程队列,负责更行UI的操作。是一个串行的队列。 1.2 系统默认的并行队列:global queue,按优先级分类。 1.3 自定义的队列:可以创建串行队列或者是并行的队列 2.任务 2.1 封装的形式:block方法或C语言的函数 2.2 添加到队列的方式:同步或异步(只对并行队列有区别) 例如服务器请求: 同步:提交请求->等待服务器处理(这个期间客户端浏览器不能干任何事)->处理完毕返回 异步:请求通过事件触发->服务器处理(这个期间客户端浏览器仍可以干其他的事)->处理完毕返回 3.特殊使用 3.1 只执行一次 dispatch_once(dispatch_once_t *predicate, dispatch_block_t block);(多用于单例模式) 3.2 延时执行 dispatch_after(dispatch_time_twhen,dispatch_queue_tqueue,dispatch_block_t...

iOS:多线程同步加锁的简单介绍

多线程同步加锁主要方式有3种:NSLock(普通锁)、NSCondition(状态锁)、synchronized同步代码块 还有少用的NSRecursiveLock(递归锁)、NSConditionLock(条件锁)、NSDistributedLock(分布锁)。 区别: NSLock和NSCondition都实现<NSLocking>协议;而synchronized(锁){….}采用同步加锁的方式实现加锁,只要锁是唯一的就可以,一般设置锁为当前对象或者类名。NSLock和NSCondition是显式加锁,synchronized同步代码块是隐式加锁。 协议如下: @protocol NSLocking - (void)lock; //加锁 - (void)unlock; //解锁 @end 详解介绍NSLock:<NSLocking>-------------普通锁 <1>属性:@property (copy) NSString *name //锁的名字 <2>其他方法: - (BOOL)tryLock; ...

相关文章

发表评论

<