gpt4 book ai didi

Swift:了解 NSLock 死锁

转载 作者:搜寻专家 更新时间:2023-11-01 05:56:44 27 4
gpt4 key购买 nike

使用 NSLock 在我们的日志中看到这条消息:

*** -[NSLock lock]: deadlock (<NSLock: 0x6100000cbec0> '(null)')
*** Break on _NSLockError() to debug.

这是否意味着应用程序遇到了 fatal error 并将停止工作?或者这是以某种“优雅”的方式处理的?

最佳答案

根据定义,死锁意味着有问题的线程无法继续进行。 Swift 不会“处理”死锁,而只是通知您发生了这种情况。

此死锁如何在您的应用程序中表现出来取决于与该线程关联的代码在做什么。但是,显然,无论它是什么,它都永远不会完成,并且永远不会恢复该线程的资源。如果这个死锁发生在主线程上,应用程序将卡住。

最重要的是,此消息的目的不是告诉您死锁已得到处理,而是相反,告诉您它无法处理,因此,您有责任修复消除这个问题的代码。

关于Swift:了解 NSLock 死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40064580/

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