import threading
def read_file():
f = open('text.txt')
for line in f:
print line.strip() ,' : ', threading.current_thread().getName()
if __name__ == '__main__':
threads = []
for i in range(15):
t = threading.Thread(target=read_file)
threads.append(t)
t.start()
Вопрос: Будет ли каждый поток читать каждую строку только один раз из файла выше или есть вероятность, что данный поток может в конечном итоге прочитать строку дважды?Многопотоковый файл read python
Насколько я понимаю, потоки, запущенные позже, перезаписывают дескриптор файла для начатого потока, в результате чего более ранний поток заканчивается чтением нескольких строк дважды или три раза или более раз.
Когда я запускал этот код, результат был иным, чем ожидалось.
Любые объяснения приветствуются.
Каков был результат, когда вы запускали программу? Вы заметили, как какие-то демоны вылетают из вашего носа? :) –