NSThread线程同步锁上小节用NSThread实现读取网络图片 , 这节用NSThread 模拟一个卖票的例子 。用NSLock 或者NSCondition 锁定资源 var total = 100 //总票数
var w1 = 0 //窗口1卖出票数
var w2 = 0 //窗口2卖出票数
var isSell = true //是否出售
var l...
分类:
编程语言 时间:
2015-08-28 21:27:29
阅读次数:
266
上次百度面试,对方问了一个锁你都用过哪些?
由于才疏学浅,我只说了两个,一个NSLock 还有一个是@synchronized.
回来看文档才知道原来有好多种,下面一一介绍下
@synchronized():这玩意是对括号内的内容进行加锁,保证线程安全,一般用在伪单例的使用中
NSLock:顾名思义,就是一个简单的锁,通过alloc创建后使用,具备lock,unlock以及lockBeforeD...
分类:
移动开发 时间:
2015-07-29 14:12:01
阅读次数:
128
ios开发:多线程(NSBlockOperation、线程锁定NSLock)、复习UITableView(UITableViewCell风格:UITableViewCellStyleValue1)
分类:
移动开发 时间:
2015-07-20 09:12:18
阅读次数:
130
NSLock/NSRecursiveLock/NSConditionLock/@synchronizedhttp://blog.sina.com.cn/s/blog_8c87ba3b0101ok8y.html使用NSLock类在Cocoa程序中NSLock中实现了一个简单的互斥锁。所有锁(包括NSL...
分类:
其他好文 时间:
2015-07-09 19:26:59
阅读次数:
155
一.多线程安全方案1.用同步锁,但是很影响性能2.用NSLock,也是锁机制3.用派发队列,在并行队列里面,结合dispatch_barrier,保证并发队列的数据操作是独立执行的。—-参考《52个高效cocoa编程方法》总结:第三种方式最优,但是,很少用。当然也可以用串行队列,但是并行队列效率更好。还有,对于单例的写法:最好用 dispatch_once.二.图片圆角的处理1.用 layer ,但...
分类:
移动开发 时间:
2015-06-27 09:59:14
阅读次数:
137
iOS开发中不可避免的会遇到加锁的情况,今天就来比较一下各种加锁方式。目前我所知道的有如下几种加锁方式:
1. @synchronized 关键字加锁
2. NSLock 对象锁
3. NSCondition
4. NSConditionLock 条件锁
5. NSRecursiveLock 递归锁
6. pthread_mutex 互斥锁(C语言)
7. dispatch_sema...
分类:
移动开发 时间:
2015-05-18 16:49:56
阅读次数:
248
一般情况下我们使用线程,在多个线程共同访问同一块资源。为保护线程资源的安全和线程访问的正确性。
在IOS中我们一般情况下使用以下三种线程同步代码方式:
第一种和第二种代码同步的使用方法,一般情况下我们只需要使用NSLock和NSCondition申明2个属性。然后给此属性赋对应的值。那么即可作为安全防控的线程手段。
同时也可以保证线程的资源安全。
1:NSLock方式
[xxxloc...
分类:
移动开发 时间:
2015-05-05 00:06:49
阅读次数:
209
NSArray 和 NSMutableArray 的区别(线程方向)? NSArray是线程安全的, NSMutableArray是线程不安全的, 多线程中使用 需要 手动加锁 NSLock 或使用 @synchronized 修饰.
Autorelease pool 实现原理? 在ARC中使用 @@autoreleasepool修饰需要手动添加到释放池的代码.大概意思是autorelease...
分类:
移动开发 时间:
2015-04-26 22:51:38
阅读次数:
167
在ios开发中常用的锁是NSLock来实现线程jian...
分类:
其他好文 时间:
2014-09-03 18:15:17
阅读次数:
171
在多线程的编程环境中,锁的使用必不可少! 于是,今天来总结一下为共享资源加锁的操作方法。 一、使用synchronized方式 ????//线程1 ????dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRI...
分类:
编程语言 时间:
2014-08-18 18:58:33
阅读次数:
276