iOS多线程系列
三生河的水
这个作者很懒,什么都没留下…
展开
-
iOS多线程——NSTimer
看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗? 我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到runloop中才会起作用吗?你知道NSTimer会并不是准确的按照你指定的时间触发的吗?你知道NSTimer就算添加到runloop了也不一定会按照你想象中的那样执行吗? 如果上面提转载 2015-04-20 15:20:28 · 1075 阅读 · 0 评论 -
iOS多线程——NSRunLoop(2)
Run loop就像它的名字一样,是你thread中的一个循环并对收到的事件进行处理。你的代码提供控制语句用来对run loop进行执行——换句话说:你的代码提供while或for循环来驱动run loop。在你的循环中,你使用run loop对象来“运行”事件处理代码。事件处理代码主要进行接收事件并调用事件处理函数。 Run loop从两个不同的事件源中接收消息。Input转载 2015-04-17 15:57:54 · 400 阅读 · 0 评论 -
ios多线程——锁(解决多线程抢夺同一块资源的问题)
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全[cpp] view plaincopyprint?@synchronized(self) { //转载 2015-04-17 16:13:24 · 3858 阅读 · 0 评论 -
GCD之关于dispatch_semaphore的使用
dispatch_semaphore是GCD用来同步的一种方式,与他相关的共有三个函数,分别是dispatch_semaphore_create,dispatch_semaphore_signal,dispatch_semaphore_wait。下面我们逐一介绍三个函数:(1)dispatch_semaphore_create的声明为: dispatch_sema转载 2015-12-14 14:12:03 · 424 阅读 · 0 评论