gpt4 book ai didi

ios - 杀死一个用 dispatch_sync 锁定的线程

转载 作者:行者123 更新时间:2023-11-28 21:51:12 25 4
gpt4 key购买 nike

是否可以杀死由于 dispatch_sync 而被锁定的线程?这是代码:

dispatch_sync(q_, ^{
...
});

这是锁定时的堆栈跟踪:

#0  0x00007fff8d69951a in semaphore_wait_trap ()
#1 0x00007fff9aad7c5b in _os_semaphore_wait ()
#2 0x0000000100aec692 in _dispatch_barrier_sync_f_slow ()

我尝试使用 pthread_kill 但线程没有终止。

最佳答案

如果你翻遍所有的POSIX资料,是有可能的。

现实中,就算了。你永远不会让它发挥作用。如果代码中存在死锁,摆脱死锁的唯一方法是修复代码。

顺便说一句,iOS 设备上的死锁比崩溃严重得多。当一个应用程序崩溃时,许多用户甚至没有注意到,他们只是重新启动它。当应用程序死锁时,用户需要使用更复杂的过程来手动杀死应用程序。

通常,我会尽可能避免 dispatch_sync

关于ios - 杀死一个用 dispatch_sync 锁定的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282343/

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