我有一个用C++编写的多线程应用程序。我正在使用互斥来写文件。我怀疑在程序执行期间的某个地方,互斥锁没有被释放。
所以我想知道是否有一种方法可以通过编程或其他方式检查文件上的互斥锁和释放。
顺便说一句,我正在SuseLinux上运行代码。
谢谢,
发布于 2009-12-11 04:17:02
欢迎来到调试多线程代码的奇妙世界。没有什么灵丹妙药可以解决您的问题,但至少您应该使用RAII习惯用法来管理您的互斥锁。这意味着将互斥锁包装在一个C++类中,该类在创建类的实例时声明互斥锁,并在它(类实例)被销毁时释放互斥锁。您也可以有利可图地记录声明/发布,但请注意,这可能会引入计时错误和人工制品。
https://stackoverflow.com/questions/1883674
复制相似问题