多线程时资源已经加锁,为什么还会出现The process cannot access the file because it is being used by another process

unicode 2007-12-27 11:18:02
如上,大概有什么原因导致,能不能知道是访问哪个资源时出错的?因为一个thread要访问很多资源
...全文
498 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
forwtl 2007-12-27
  • 打赏
  • 举报
回复
那就是你的临界代码没写好。

能不能知道是访问哪个文件时出错的

自已debug呀。
unicode 2007-12-27
  • 打赏
  • 举报
回复
看信息是和线程无关,可是这个错误就是在我把程序改成多线程后才出现的,本来运行好好的。
请问,能不能知道是访问哪个文件时出错的??
forwtl 2007-12-27
  • 打赏
  • 举报
回复
The process cannot access the file because it is being used by another process

和线程无关。

你要操作的那个file,如果你是独占打开(file已被已外的进程独占或共享打开),肯定出错。

你要操作的那个file,如果你是共享打开(file已被已外的进程独占打开),肯定出错。

如果都是共享打开且已打开,可能你要操作file时,该 file 被另一个进程(暂时或永久) lockfile 了。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧