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()
問題:每個線程會從上面的文件中只讀取一行還是有可能給定的線程最終讀取一行兩次?多線程文件讀取python
我的理解是稍後啓動的線程將覆蓋早期啓動的線程的文件句柄,導致較早的線程最終讀取幾行兩次或三次或更多次。
當我運行此代碼時,結果與預期發生的結果不同。
歡迎任何解釋。
運行該程序的結果是什麼?你有沒有注意到有惡魔從你的鼻子裏飛出來? :) –