gpt4 book ai didi

python - 有没有一种方法可以查明Python线程锁是否被多个线程使用过?

转载 作者:行者123 更新时间:2023-12-01 08:00:35 24 4
gpt4 key购买 nike

我正在开发一个已重构多次的个人项目。它开始使用多线程,然后部分使用 asyncio,现在又回到主要是单线程。

由于所有这些更改,我希望删除和清理代码中的许多 threading.Lock() 以防止将来出现问题。

如何轻松找出应用程序运行时哪些锁正在使用并被多个线程命中?

最佳答案

如果我在这种情况下发现了这一点,我会尝试用包装器替换锁,当发生不良行为时,该包装器会为我进行计数(或打印某些内容,引发异常等)。 Python 很 hacky,所以我可以简单地创建一个函数并覆盖原始的 threading.Lock 来完成工作。这可能需要一些仔细的实现,例如,捕获所有可能的锁定和解锁路径。

但是,您必须小心,即使如此,您也可能不会执行所有可能的代码路径,因此永远不知道是否真的删除了所有“错误”。

关于python - 有没有一种方法可以查明Python线程锁是否被多个线程使用过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55751007/

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