synchronized在多线程情况下的使用
2015-12-07 17:55
369 查看
不同业务场景,有时会碰到大量数据的情况,在请求完数据后会通过model映射到对应的数组或者字典中,从而对数组进行操作,而多个线程同时对同一数组进行取舍时内容就会出错,为了避免这种情况可以使用@synchronized关键字来声明来创建一个互斥锁,保证此时没有其它线程对锁定对象进行修改;synchronized是oc的一个锁定令牌,防止锁定对象在同一时间内被其它线程访问,起到线程的保护作用。
- (void)add:(*item item)array { @synchronized (array) { [array addObject :item]; } }
- (void)rem:(*item item)array { @synchronized (array) { [array removeobject:item]; } }
相关文章推荐
- nmon生成文件的各项参数解释说明
- 关于compileSdkVersion和targetSdkVersion
- iOS基础-UItoolBar简单使用
- 图解Android触摸事件分发
- 新浪微博分享不显示分享的链接问题
- Objective-c语言-对象
- windows下C的定时器timeSetEvent使用
- ssh 端口转发
- 通过bind实现activity与service的交互
- UE4 屏幕输出调试信息
- psql-07表:分区表
- 一篇给小白看的 JavaScript 引擎指南
- ScrollView嵌套listView和Viewpager后的显示不全解决
- 读书不如行路
- Eclipse中的Tomcat关闭了但还是显示Started或Debugging
- [BZOJ1776] [Usaco2010 Hol]cowpol 奶牛政坛
- mac svn
- base64与图片之间的转换
- PostgreSQL表空间
- UIView常用属性以及方法