每个iOS应用程序都有个专门用来更新显示UI界面、处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些...
分类:
移动开发 时间:
2015-08-18 12:25:25
阅读次数:
205
为什么需要互斥锁?
在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。
下面我们用程序模拟一下这个过程,线程一需要打印“ hello ”,线程二需要打印“ world ”,不加任何处理的话,打印出...
分类:
编程语言 时间:
2015-08-18 12:12:17
阅读次数:
199
在上一篇博客中,我们讨论了Race Condition现象以及它产生的原因,现在我们知道它是不好的一种现象了,那么我们有什么方法避免它呢。最直接有效的方式就是放弃多线程,直接改为使用单线程但操作数据,但是这是不优雅的,因为我们知道有时候,多线程有它自己的优势。在这里我们讨论两种其他的方法——锁对象和条件对象。
锁对象
java SE5.0之后为实现多线程的互斥引入了ReentrantLock类...
分类:
编程语言 时间:
2015-08-17 08:48:20
阅读次数:
400
1.进程:在系统中正在运行的一个应用程序 线程:一个进程要想执行任务必须有线程(每一个进程至少有一条进程)2.主线程:显示、刷新UI界面,处理UI事件,与用户交互的都是主线程 二. 多线程的几种方式(面试常问) 1.Pthread:一套通用的多线程API,使用于UNix\Linux\Window等....
分类:
编程语言 时间:
2015-08-11 07:13:57
阅读次数:
157
1.进程:在系统中正在运行的一个应用程序 线程:一个进程要想执行任务必须有线程(每一个进程至少有一条进程)2.主线程:显示、刷新UI界面,处理UI事件,与用户交互的都是主线程 二. 多线程的几种方式(面试常问) 1.Pthread:一套通用的多线程API,使用于UNix\Linux\Window等....
分类:
编程语言 时间:
2015-08-11 07:08:28
阅读次数:
132
一、说明操作的是线程,不是封装好的队列或队列;适用于长时间一直使用的子线程。
二、方法1、睡眠// 1、睡到指定时间。
class func sleepUntilDate(date: NSDate)// 2、跟sleep()一样(PS:typealias NSTimeInterval = Double)
class func sleepForTimeInterval(ti: NSTimeInte...
分类:
编程语言 时间:
2015-08-10 22:19:22
阅读次数:
155
本文目录前言一、获取当前线程二、获取主线程三、NSThread的创建四、暂停当前线程五、线程的其他操作六、优缺点回到顶部前言每个iOS应用程序都有个专门用来更新显示UI界面、处理用户触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验...
分类:
编程语言 时间:
2015-08-06 20:06:20
阅读次数:
160
Two-phapse-Termination[A终止B线程]一:Two-phapse-Termination的参与者--->A线程--->B线程 二:Two-phapse-Termination模式什么时候使用--->当A线程需要B线程终止时三:Two-phapse-Termination思考 --...
分类:
编程语言 时间:
2015-08-01 23:26:34
阅读次数:
144
一。什么是协同程序 协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。二。协同程序的开启与终止 在Unity3D中,使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序,也就是说该方法必须在MonoBeha...
分类:
编程语言 时间:
2015-07-30 14:50:15
阅读次数:
146
iOS多线程实现方案pthread:C语言,生命周期需要管理,一套通用多线程API试用Unix\Linux\Windows系统跨平台\可移植使用难度大NSThread:OC语言,生命周期需要管理面向对象可直接操作线程对象GCD:(常用)C语言,自动管理生命周期旨在替代NSThread等多线程技术充分...
分类:
编程语言 时间:
2015-07-28 22:44:59
阅读次数:
150