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

时间:2022-11-01 22:05:46

//联系人:石虎 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


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


谢谢!!!