我在python中使用线程如下:
ls = ...# a list
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
for e in ls:
th = classB(e)
executor.submit(th)
因此,每个classB
都会计算一个字符串列表。我需要将此计算列表写入文件。那么如何访问文件而不会出现错误,因为所有线程都会写入该文件。
我做到了:
while not queue.empty():
ls = q.get()
file_object = open(self.fileName, "w")
for p in ls:
file_object.write(path + "\n")
file_object.close()
q.task_done()
,在classB
中,当我计算列表时,我做了:
q.put(self.finalList)
问题是我的文件中只有一个结果
我该怎么做更正确?