python 进程池 pool

2017-10-19  本文已影响71人  a十二_4765

#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()

上一篇下一篇

猜你喜欢

热点阅读