1.NSLock---锁同步
- (void)viewDidLoad
{
[super viewDidLoad];
NSLock * lock = [[NSLock alloc]init];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[lock lock];
[self method1];
[lock unlock];
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[lock lock];
[self method2];
[lock unlock];
});
}
- (void)method1{
NSLog(@"%@",NSStringFromSelector(_cmd));
NSLog(@" method 1 Current thread = %@", [NSThread currentThread]);
NSLog(@"method 1 Main thread = %@", [NSThread mainThread]);
}
- (void)method2{
NSLog(@"%@",NSStringFromSelector(_cmd));
NSLog(@"method 2 Current thread = %@", [NSThread currentThread]);
NSLog(@" method 2 Main thread = %@", [N