python并发同时读一个文件,是否会因为文件锁影响读,如果有的话,该如何避免?
#
我的理解是没有问题,文件锁是用来解决文件同步的,但是只有读,就可以理解为无所谓了。
python并发同时读一个文件,是否会因为文件锁影响读,如果有的话,该如何避免?
我的理解是没有问题,文件锁是用来解决文件同步的,但是只有读,就可以理解为无所谓了。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
从概念上说,大家一起读,没人(包括外人)去写的话是不需要锁的。
另外,文件锁是“建议锁”,不是“强制锁”,也就是说,如果一个程序完全无视这个锁,直接打开并读写文件,这个锁不会发挥作用。
但有一点你要注意,
file
对象本身不能在多线程/进程中安全的共享,如果你需要多个线程/进程读文件,你需要在每个线程/进程中自己打开文件生成file
对象,或者,给file
对象加个锁,不过这应该不是你想要的。