代码用锁就好了:
from threading import Thread
import threading
lock = threading.Lock()
def write(num):
# 保存数据
name = "Threading"+num
i = 1
while i <4:
if lock.acquire():
with open('job.txt', 'a', encoding='utf-8')as fp:
fp.write( name+':这个是线程'+name+'写的第'+str(i)+'行\n')
lock.release() # 释放锁
i += 1
if __name__ == "__main__":
lst = []
for i in range(1,6):
p = Thread(target=write, args=str(i)) # 多线程
lst.append(p)
for j in lst:
j.start()
结果: