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)}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容