微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

移动命令中的多线程死锁

如何解决移动命令中的多线程死锁

对于另一个必须多线程的文件系统,尝试在Linux中实现类似于move命令的命令时遇到以下问题。

当我尝试执行以下操作时:'''mv / a / b / a'''程序将锁定用于写入的根目录和用于写入的a。然后,由于无法释放锁,因为其他线程可能会获取它们,所以当我尝试锁定根目录以在move命令的目标中进行读取时,我陷入了死锁的情况。

我正在设法解决这个问题。以我的代码现在的方式,给定路径/ x / y / z时,它会锁定每个目录,以供读取或写入,具体取决于我要执行的命令。因此,使用该命令,我能够确定是否可以将/ a写入/ b / a,因为它会检查/ a是否存在以及/ b / a是否存在,但是我仍然需要解决死锁情况

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。