gpt4 book ai didi

ios - dispatch_get_main_queue block 中的代码

转载 作者:行者123 更新时间:2023-11-28 18:47:13 31 4
gpt4 key购买 nike

我有一些如下代码:

- (void)viewDidLoad {
[super viewDidLoad];

NSLog(@"1");

dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"3");
});

NSLog(@"2");
}

在控制台中,控制台输出为:1, 2, 3。一开始我以为应该是1,3,2因为dispatch_get_main_queue是主队列,在它外面也是主队列。为什么输出不同?

最佳答案

dispatch_async 的意思是“提交这个 block 在指定的队列上运行,当那个队列能够这样做时,不阻塞当前线程等待分派(dispatch)的 block 完成,而是马上继续。”由于 viewDidLoad 在主线程上运行,因此主线程将在运行您异步分派(dispatch)到主队列的 block 之前完成 viewDidLoad 的运行。

关于ios - dispatch_get_main_queue block 中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49984081/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com