网站建设资讯

NEWS

网站建设资讯

进程锁进程池

多进程锁
frommultiprocessingimportProcess, Lock

deff(l, i):
    l.acquire()
   try:
       print('hello world', i)
   finally:
        l.release()

if__name__ =='__main__':
    lock = Lock()

   fornuminrange(100):
        Process(target=f,args=(lock, num)).start()

10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有西湖免费网站建设让你可以放心的选择与我们合作。

 

 
多进程池
from multiprocessingimportProcess, Pool
importtime,os

defFoo(i):
    time.sleep(2)
   print("in process:",os.getpid())
   returni +100#返回给callbackBar

defBar(arg):
   print('-->exec done:', arg,os.getpid())

if__name__=="__main__":
    pool=Pool(processes=5)#允许进程池里同时放入5个进程
   
print("主进程:",os.getpid())
   foriinrange(10):#callback主进程回调 子进程每执行完一个func=Foo, args=(i,),主进程在回调一次Bar
       
pool.apply_async(func=Foo,args=(i,),callback=Bar)#异步执行 并行
        #pool.apply(func=Foo, args=(i,))#
同步执行 串行 不支持callback

   
print('end')
    pool.close()
    pool.join()#进程池中进程执行完毕后再关闭,如果注释,那么程序直接关闭。

名称栏目:进程锁进程池
网站链接:http://cdweb.net/article/pscpgp.html