gpt4 book ai didi

objective-c - GCD 在主线程中执行任务

转载 作者:IT老高 更新时间:2023-10-28 12:14:53 25 4
gpt4 key购买 nike

我有一个可能来自任何线程的回调。当我得到这个回调时,我想在主线程上执行某个任务。

我是否需要检查我是否已经在主线程上 - 或者在调用下面的代码之前不执行此检查是否会受到任何惩罚?

dispatch_async(dispatch_get_main_queue(), ^{
// do work here
});

最佳答案

不,你不需要检查你是否已经在主线程上。通过将 block 分派(dispatch)到主队列,您只是将 block 安排在主线程上串行执行,这发生在相应的运行循环运行时。

如果你已经在主线程上,行为是一样的:block被调度,在主线程的run loop运行时执行。

关于objective-c - GCD 在主线程中执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5662360/

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