下面是一个demo,疑问为什么print("当前进程 {} 访问了{}".format(os.getpid(), self._map['age'])) 语句没有执行。求大佬解答
from concurrent.futures import ProcessPoolExecutor
import os
import time
from functools import partial
class Man:
_map = {}
def __init__(self) -> None:
print("初始化了")
self._map["name"] = 'test'
self._map["age"] = 0
def do_rquest(self, age):
time.sleep(0.1)
print("当前进程 {} 访问了{}".format(os.getpid(), self._map['age']))
self._map['age'] += 1
# print("当前进程 {} 访问了{}:{}".format(os.getpid(), age, self._map['age']))
def myrequest(man: Man):
man.do_rquest(1)
if __name__ == '__main__':
man = Man()
with ProcessPoolExecutor(max_workers=1) as pool:
pool.map(myrequest,[man for man in range(0, 10)])
print(time.time()-d)
下面是demo执行结果: