gpt4 book ai didi

linux - 如何找到信号量未锁定的原因

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:08:10 25 4
gpt4 key购买 nike

我有几个线程(实际上是 5 个线程)挂起的特殊情况。原因是它正在等待信号量,但无法捕获它。ipcs -p 不显示任何具有该信号量的任务。ipcs -s -i 显示计数为 5。

那么,我怎么知道为什么这 5 个线程没有发生信号量锁定?我如何查看是否有任何线程持有此信号量。

(分析调用堆栈,我看不到任何具有信号量的任务。)

感谢您的帮助!

最佳答案

我会围绕信号量的使用编写一些调试代码(即在每个信号量函数之前和之后指定正在使用哪个信号量以及哪个线程)。此外,我会仔细检查以确保您的代码没有任何死锁。这很容易实现 nu 确保您以相同的顺序使用各种信号量来获得互斥锁,并以相反的顺序来释放锁。

除此之外,如果没有代码,我能给你的帮助就很少了。

关于linux - 如何找到信号量未锁定的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492723/

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