MultiThreadObject *object = [[MultiThreadObject alloc] init]; NSLock *lock = [[NSLock alloc] init]; [NSThread detachNewThreadWithBlock:^{ NSInteger loopCount = 1000; while (loopCount) { [lock lock]; NSArray *data = @[@"1", @"2", @"3"]; object.data = data; if (object.data != data) { NSLog(@"多线程同步问题 self.data: %@, data: %@",object.data, data); } loopCount --; [lock unlock]; } }]; [NSThread detachNewThreadWithBlock:^{ NSInteger loopCount = 1000; while (loopCount) { [lock lock]; NSArray *data = @[@"1", @"2", @"3", @"4"]; object.data = data; loopCount --; [lock unlock]; } }];