c*******a 发帖数: 1879 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: centralla (central LA), 信区: Programming
标 题: linux下, 一个thread 正在写文件,如果另一个thread试图去删去这个文件
发信站: BBS 未名空间站 (Mon Oct 2 19:52:10 2017, 美东)
会不会产生deadlock? |
v*****u 发帖数: 1796 | 2 没有其他resource的话不会。 deadlock 一大先决条件是多个线程互相等待resource |
l****u 发帖数: 1764 | 3 看删除那个怎么实现的吧,blocking的话就一直等到写完了删掉,nonblocking就返回
false删除失败了 |
g*****t 发帖数: 42 | 4 文件被删掉也只是做标记, 文件被打开inode被用文件不会真正被删掉。不会deadlock |
y*d 发帖数: 2226 | 5 Windows会,linux不会
windows里文件会被锁住
linux里只是删了目录结构里的引用,写thread里的引用还在。等写thread关了文件,
才会被垃圾回收。
这个垃圾回收比JAVA里的简单很多,只要引用计数就行了 |