我需要在 Python 中使用多处理将 1,000,000 个随机数写入单个文件,并注意它如何影响执行时间。出于某种原因,每当我运行脚本时,我最终只会得到 997,716 个数字。
这是我的代码:
import time
import random
from multiprocessing import Process, Lock
mutex = Lock()
def task1():
for i in range(500000):
mutex.acquire()
f.write(str(random.randint(0,1000)) + "\n")
mutex.release()
def task2():
for i in range(500000):
mutex.acquire()
f.write(str(random.randint(0,1000)) + "\n")
mutex.release()
start = time.time()
f = open("file2.txt","a")
p1 = Process(target = task1, args = ())
p2 = Process(target = task2, args = ())
p1.start()
p2.start()
end = time.time()
print('Execution Time: {}'.format(end-start))