多线程nonatomic和atomic

@interface ViewController()

//nonatomic非原子属性,atomic是原子属性
@property(atomic,strong)NSObject *obj;

@end



@implementation ViewController

//如果同时重写了setter和getter方法,“_成员变量”就不会提供
//可以使用@synthesize合成指令,告诉编译器属性的成员变量名称
@synthesize obj = _obj;

- (NSObject *)obj{

    return _obj;

}

- (void)setObj:(NSObject*)obj{

    @synchronized(self){ //模拟锁,真实情况下使用的不是互斥锁

        _obj = obj;
    }
}

@end

你可能感兴趣的:(多线程nonatomic和atomic)