Python并发只读,是否有锁?

python并发同时读一个文件,是否会因为文件锁影响读,如果有的话,该如何避免?

#

我的理解是没有问题,文件锁是用来解决文件同步的,但是只有读,就可以理解为无所谓了。

阅读 8k
1 个回答

从概念上说,大家一起读,没人(包括外人)去写的话是不需要锁的。
另外,文件锁是“建议锁”,不是“强制锁”,也就是说,如果一个程序完全无视这个锁,直接打开并读写文件,这个锁不会发挥作用。
但有一点你要注意,file对象本身不能在多线程/进程中安全的共享,如果你需要多个线程/进程读文件,你需要在每个线程/进程中自己打开文件生成file对象,或者,给file对象加个锁,不过这应该不是你想要的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题