gpt4 book ai didi

ios - sleep NSThread 与。 GCD 调度后

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:55 25 4
gpt4 key购买 nike

也许这个问题以前曾以不同的形式被问过。但我认为我对此有不同的看法。我正在为整个代码库做一些优化任务和大量的重构,这也会提高代码的可读性。

所以我找到了[NSThread sleepForTimeInterval:]某处写的方法和延迟我总是使用 GCD 的 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<#delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{})方法。那么问题是哪个更好?

最佳答案

差别很大。

[NSThread sleepForTimeInterval:]

阻塞当前线程。如果当前线程是主线程,这是很糟糕的。根据您正在做的事情,它在其他线程上可能很好或很糟糕。

dispatch_after

不会阻塞当前线程。该 block 排队等待在指定队列上的 future 时间运行,而当前线程继续其快乐的方式。

在没有任何特定上下文的情况下,我会说 dispatch_after 在几乎所有情况下都是更好的方法。

关于ios - sleep NSThread 与。 GCD 调度后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271825/

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