#config:utf-8
import multiprocessing as mp
def job(x):
return x*x
#进程池 Pool() 和 map()
pool =mp.Pool()
res = pool.map(job, range(10))
def multicore():
pool = mp.Pool(processes=3)#定义cpu核数量为3
res = pool.map(job,range(10))
print(res)
if __name__ == '__main__':
multicore()
进程锁
#condfig:utf-8
importmultiprocessingasmp
importtime
defjob(v,num,l):
l.acquire()# 锁住
for_inrange(5):
time.sleep(0.1)# 暂停0.1秒,让输出效果更明显
v.value+= num# v.value获取共享变量值
print(v.value)
l.release()
defmulticore():
l =mp.Lock()#定义一个进程锁
v =mp.Value('i',0)#定义共享变量
p1 =mp.Process(target= job,args=(v,1,l))
p2 =mp.Process(target=job,args=(v,3,l))#设定不通的number看如何抢夺内存
p1.start()
p2.start()
p1.join()
p2.join()
if__name__ =='__main__':
multicore()