多线程
文章平均质量分 73
火海夕
入行10+年的开发老鸟,专注客户端开发,精通OC、swift,熟悉WEB、JAVA/PHP、iOS联合开发,拥有5年项目管理经验,擅长敏捷项目开发和管理。乐于交流,分享经验技术,也欢迎职业直接推荐!联系方式:wx=j136845,qq=931637933,邮箱=jutiefeng123@163.com
展开
-
GCD介绍及线程队列的使用
1.GCD是嘛?GCD是Grand Central Dispatch的缩写,是苹果对多核硬件上执行并发代码的一种支持。它有以下优点: 1) GCD通过把计算密集型任务放于后台运行,以此提高APP的响应速度。 2) GCD提供了更简单的并发模型,它优于线程锁,并且帮助你避免并发bug。 3) GCD基于底层、高性能的优化常规类型的代码,例原创 2017-12-19 14:45:05 · 1152 阅读 · 0 评论 -
Swift 线程安全数组
有并发的地方就存在线程安全问题,尤其是对于 Swift 这种还没有内置并发支持的语言来说线程安全问题更为突出。下面我们通过常见的数组操作来分析其中存在的线程问题,以及如何实现一个线程安全数组。问题所在因为无法确定执行顺序,所以并发导致的问题一般都很难模拟和测试。不过我们可以通过下面这段代码来模拟一个并发情形下导致的数据竞争问题。var array = [Int]() Dispat...转载 2017-12-08 17:21:48 · 2117 阅读 · 0 评论 -
iOS多线程安全 - 线程同步
一、atomic介绍 在iOS中,@property 新增属性时,可以增加atomic选项,atomic会给对应对setter方法加锁,相当于 - (void)setTestStr:(NSString *)testStr{ @synchronizad(lock){ if (testStr != _testStr) { [_testS...原创 2017-01-06 14:28:18 · 298 阅读 · 0 评论 -
iOS中使用子线程的完整方法
第一步:开启子线程 //开启子线程到网络上获取数据 myFirstThread = [[NSThread alloc]initWithTarget:self selector:@selector(thread1GetData) object:nil]; [myFirstThread setName:@"第一个子线程,用于获取网络数据"]; [myFirstT...原创 2014-11-21 19:30:11 · 1221 阅读 · 0 评论