【发布时间】:2017-09-23 23:02:01
【问题描述】:
在 Python2 中,使用以下代码从单个不变的磁盘文件中读取多个线程是否安全:
with open( pathname, 'rb' ) as f:
f.seek( file_position )
data = f.read( number_of_bytes )
没有进程拥有或将拥有该文件的写权限。
显然,以这种方式读取文件不是原子的。 Python2 文档对文件对象和线程只字未提(我能找到)。以下是seek 方法的文档:
https://docs.python.org/2/library/stdtypes.html?highlight=seek#file-objects
这对我的系统来说是一个关键问题,所以如果可以提供指向文档的指针,那将是令人放心的。
谢谢。
【问题讨论】:
标签: python multithreading file