У меня есть требование записать в файл текстового журнала для нескольких программ все в одном текстовом файле, я думал, что мне нужен какой-то механизм блокировки, но затем я написал простую многопоточность и заметил, что некоторые журналы не доходят до финалатекстовый файл?
def abc1Thread():
import portalocker
print ("-----------------abc1-Thread --------------------")
g = open("testFile", "a")
cnt = 0
f1 = open("A.txt", "a")
while (True):
cnt = cnt+1
if cnt == 10: break
print ("abc1Thread: cnt --> ",cnt+1)
f1.write("abc1Thread: cnt --> "+ str(cnt)+ "\n")
print ("close file handle: "+ str(f1))
f1.close()
def abc2Thread():
import portalocker
print("-----------------abc2-Thread --------------------")
cnt = 0
f2 = open("A.txt", "a")
while (True):
cnt = cnt+1
if cnt == 10: break
print("abc2Thread: cnt --> ", cnt)
f2.write("abc2cThread: cnt --> "+str(cnt)+"\n")
print ("close file handle: "+ str(f2))
f2.close()
def fileWriteShare():
thrd1 = threading.Thread(target=abc1Thread, args=[])
thrd2 = threading.Thread(target=abc2Thread, args=[])
thrd1.start()
thrd2.start()
Как я могу заблокировать и разблокировать в windows python текстовый файл, чтобы все программы могли писать надежно