block在主线程还是在分线程中执行

答案: 在哪条线程调用就在哪条线程中执行

@property (nonatomic, copy) void(^block)(NSString *name);

self.block = ^(NSString *name) {
    NSLog(@"%@%@",name,[NSThread currentThread]);
};

self.block(@"1");

dispatch_async(dispatch_get_global_queue(0, 0), ^{
    NSLog(@"当前在%@",[NSThread currentThread]);
    self.block(@"2");
});

输入 :
2017-04-13 14:42:00.954 LZX[1562:106772] 1<NSThread: 0x608000062040>{number = 1, name = main}
2017-04-13 14:42:00.954 LZX[1562:106811] 当前在<NSThread: 0x60800006dac0>{number = 3, name = (null)}
2017-04-13 14:42:00.955 LZX[1562:106811] 2<NSThread: 0x60800006dac0>{number = 3, name = (null)}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容