多线程中通知的使用
在iOS开发中大家使用通知时不知道有没有人想过一个问题;子线程的发出的通知会在哪个线程执行呢?
今天我们就来验证一下,废话不多说直接上代码
- (void)viewDidLoad {
[super viewDidLoad];
dispatch_queue_t queue = dispatch_queue_create("com.dd", DISPATCH_QUEUE_CONCURRENT);
dispatch_async(queue, ^{
// 在子线程中发出通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"notification" object:nil];
NSLog(@"发出通知线程==%@",[NSThread currentThread]);
});
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(observerFun) name:@"notification" object:nil];
}
- (void)observerFun{
// 在主线程中监听通知
NSLog(@"接受通知线程==%@",[NSThread currentThread]);
}
打印结果