有一个代码:
import multiprocessing
from itertools import product
import time
username = 'ivan'
my_items = [1,2,3,4,5,6,7,8,9]
def printing(username,my_items):
print (username)
print(my_items)
if __name__ == '__main__':
with multiprocessing.Pool(processes=4) as pool:
results = pool.starmap(printing, product(username, my_items))
按照计划,my_items 中的每个项目的代码都应该使用相同的用户名参数执行打印()函数,并在 4 个进程中同时执行。也就是说,按照我的想法,结果应该是这样的:
ivan
1
ivan
2
ivan
3
ivan
4
ivan
5
ivan
6
ivan
7
ivan
8
ivan
9
事实上,代码给出了结果:
i
1
i
2
i
3
i
4
i
5
i
etc...
显然,依次,一个接一个。我究竟做错了什么?
1 个回答