Почему неатомарное свойство быстрее, чем атомарное?

Почему неатомарное свойство быстрее, чем атомарное

Вот мой код:

@interface ViewController ()
@property(atomic, assign) NSInteger a;
@property(nonatomic, assign) NSInteger b;

@end

@implementation ViewController

(void)viewDidLoad {
    [super viewDidLoad];

    CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent();
    for (NSInteger i = 0; i < 100000; i++) {
        self.a = i;
    }
    CFAbsoluteTime time = (CFAbsoluteTimeGetCurrent() - startTime);
    NSLog(@"atomic %f ms", time * 1000.0);

    startTime = CFAbsoluteTimeGetCurrent();
    for (NSInteger i = 0; i < 100000; i++) {
        self.b = i;
    }

    time = (CFAbsoluteTimeGetCurrent() - startTime);
    NSLog(@"nonatomic in %f ms", time * 1000.0);
}

@end`

Может кто-нибудь, пожалуйста, помогите мне с этой проблемой?

0 ответов

Другие вопросы по тегам