iOS 多个线程对数组操作(遍历,插入,删除),实现一个线程安全的NSMutabeArray
来源:互联网 发布:网络技术培训机构 编辑:程序博客网 时间:2024/05/18 08:06
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄
一、概念
1.含义:
@synchronized(self) {
}
//这个其实就是 一个加锁。如果self 其他线程访问,则会阻塞。这样做一般是用来对单
2.重写构造方法
@interface SHSafetyArray : NSObject
{
@private
NSMutableArray *_mutableArray; //声明数组
}
//遍历加锁
- (void) multi:(void (^)(NSObject*)) multipass;
@end
@implementation SHSafetyArray
//初始化
- (id)init {
if (self = [super init]) {
_mutableArray = [[NSMutableArrayalloc]init];
}
return self;
}
//遍历加锁
- (void)multi:(void (^)(NSObject *)) multipass {
@synchronized(self) {
for (NSObject *objin_mutableArray) {
multipass(obj);
}
}
}
@end
注意:这样就会线程安全的
谢谢!!!
- iOS 多个线程对数组操作(遍历,插入,删除),实现一个线程安全的NSMutabeArray
- iOS实现多个异步线程同步的操作
- iOS线程安全数组
- 线程的安全删除
- 数组实现线程安全的栈
- 如何实现一个线程安全的map?
- 线程安全的遍历list
- C++实现线程同步的几种方式 线程同步是指同一进程中的多个线程互相协调工作从而达到一致性。之所以需要线程同步,是因为多个线程同时对一个数据对象进行修改操作时,可能会对数据造成破坏,下面是多
- IOS:FMDB使用databaseQueue实现数据库操作线程安全
- 这里实现一个基于数组的线程安全的循环队列
- 多个线程共同的等待一个操作
- ViewPager使用FragmentPagerAdapter加载多个fragment,实现对已加载的list做插入、删除及排序操作
- 线程安全的无锁RingBuffer的实现【一个读线程,一个写线程】
- 一个对hashmap线程安全分析的博客
- C++ 对 线性数组的 删除 和 插入操作
- 实现一个事务多个dao情况下,使用同一个connection,保证线程安全
- java实现4个线程对一个公共变量修改
- 线程安全的无锁RingBuffer的实现【多个写线程一个读线程】
- 商品详情页面demo
- okHttp拦截器放在doGet和doPost请求中
- java之工厂方法模式
- duilib的xml预览工具duilibpreview
- 内核支持线程和用户级线程
- iOS 多个线程对数组操作(遍历,插入,删除),实现一个线程安全的NSMutabeArray
- 将一个Maven的Java项目重命名(改造)为一个新项目,用Tortoise上传到SVN服务器
- java微信生成带参数的二维码
- 购物车+MVP+二级列表
- python2.7下面字节数组(ByteArray)和16进制字符串(HexString)转化
- 购物车之跳转到详情页面
- java之后台传递json中带有单引号时的处理
- 《亲爱的客栈》中的”清尘“CP
- 17未央,我备一曲离殇