from multiprocessing import Pool,freeze_support,Lock
import time
cnt=0
lock=Lock()
def test(item):
with lock:
global cnt
time.sleep(1)
cnt=cnt+1
if __name__=='__main__':
freeze_support()
start=time.time()
pool=Pool()
pool.map(test,range(0,10))
pool.close()
pool.join()
print(cnt)
print(time.time()-start)
用python开多进程执行某个test任务,test任务简化为一个延时操作,每进行一次test就让共享变量加1,使用了multiprocessing中的锁Lock()来解决数据竞争的问题,发现无法解决,每次print的cnt值还是0(如果成功解决数据竞争问题的话cnt最后应该是10),请问应该怎么改?