gpt4 book ai didi

iphone - "__workq_kernreturn"在 iOS 崩溃日志中或当您暂停应用程序执行时表示什么?

转载 作者:技术小花猫 更新时间:2023-10-29 11:21:10 26 4
gpt4 key购买 nike

在 iOS 上调试时,如果我暂停执行,我经常会看到对“__workq_kernreturn”的多个引用。

如果我的应用碰巧崩溃了,我经常会看到如下所示的多个线程:

Thread 19:
0 libsystem_kernel.dylib 0x332d0cd4 __workq_kernreturn + 8

Thread 20:
0 libsystem_kernel.dylib 0x332d0cd4 __workq_kernreturn + 8

Thread 21:
0 libsystem_kernel.dylib 0x332d0cd4 __workq_kernreturn + 8

“__workq_kernreturn”是表示等待退出的线程,还是死锁的线程?这有什么值得担心的吗?

最佳答案

除非有很多,否则没什么好担心的。如果有很多,这表明您可能产生了比您可能应该产生的更多的线程,但是 workq_kernreturn 本身仍然不是问题。这通常意味着线程正在完成。其来源可在 opensource.apple.com 获得。如果您想看看它的作用。

您可能看到的最常见的堆栈是这个:

_workq_kernreturn
_pthread_wqthread
start_wqthread

由于优化,您看不到对 _pthread_workq_return() 的调用在那里,但这就是实际发生的事情。 _workq_kernreturn 只是在等待自旋锁完成,以便它可以运行其队列中的下一件事情(或退出)。

关于iphone - "__workq_kernreturn"在 iOS 崩溃日志中或当您暂停应用程序执行时表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129952/

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