您的位置:首页 > 移动开发 > IOS开发

iOS 多个线程对数组操作(遍历,插入,删除),实现一个线程安全的NSMutabeArray

2017-12-21 09:55 609 查看
//联系人:石虎 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

注意:这样就会线程安全的

谢谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐