Я пытался зафиксировать время начала и окончания каждого процесса, передав Manager.dict. Когда я использую fun , он работает не так, как ожидалось, но для fun_1 он работает. Я запускаю этот код на python 3.7 (IDE VS Code)
import time
from multiprocessing import Manager
from multiprocessing.pool import Pool
def fun(a, d):
if a not in d:
d[a] = list()
d[a].append(time.time())
time.sleep(1)
d[a].append(time.time())
def fun_1(a, d):
s = time.time()
time.sleep(1)
e = time.time()
d[a] = [s, e]
if __name__ == '__main__':
pool = Pool(4)
m = Manager()
d = m.dict()
pool.starmap(fun, [(i, d) for i in range(10)])
print(d) # {3: [], 0: [], 2: [], 1: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []}
Похоже, мне чего-то не хватает. Заранее спасибо