IOS开发之旅 多线程
文章平均质量分 86
iteye_14850
这个作者很懒,什么都没留下…
展开
-
Objective-C中不同方式实现锁(1)
原文地址:http://www.tanhao.me/pieces/616.html/ 为什么需要使用锁,当然熟悉多线程的你,自然不会对它觉得陌生。 那你在代码中是否很好的使用了锁的机制呢?你又知道几种实现锁的方法呢? 今天一起来探讨一下Objective-C中几种不同方式实现的锁,在这之前我们先构建一个测试用的类,假想它是我们的一个共享资源,method1与method2是互斥...原创 2015-09-08 09:20:37 · 73 阅读 · 0 评论 -
Objective-C中不同方式实现锁(2)
原文地址: http://www.tanhao.me/pieces/643.html/ 在上一文中,我们已经讨论过用Objective-C锁几种实现(跳转地址),也用代码实际的演示了如何通过构建一个互斥锁来实现多线程的资源共享及线程安全,今天我们继续讨论锁的一些高级用法。 1.NSRecursiveLock递归锁 平时我们在代码中使用锁的时候,最容易犯的一个错误就是造成死锁,而...原创 2015-09-08 09:24:48 · 84 阅读 · 0 评论 -
GCD介绍(一): 基本概念和Dispatch Queue
原文地址:http://www.tanhao.me/pieces/356.html/ 什么是GCD? Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQ...原创 2015-09-08 09:34:50 · 78 阅读 · 0 评论 -
GCD介绍(二): 多核心的性能
原文地址:http://www.tanhao.me/pieces/358.html/ 概念 为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进...原创 2015-09-08 09:58:18 · 87 阅读 · 0 评论 -
GCD介绍(三): Dispatch Sources
原文地址:http://www.tanhao.me/pieces/360.html/ 何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型? 下面是GCD 10.6.0版本支持的事件:Mach ...原创 2015-09-08 10:09:24 · 71 阅读 · 0 评论 -
GCD介绍(四): 完结
原文地址:http://www.tanhao.me/pieces/362.html/ Dispatch Queue挂起 dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispat...原创 2015-09-09 09:02:37 · 93 阅读 · 0 评论