多进程锁

from multiprocessing import Process, Lock
def f(l, i):
    l.acquire()
   
try:
       
print('hello world', i)
   
finally:
        l.release()
if __name__ == '__main__':
    lock = Lock()
   
for num in range(100):
        Process(
target=f, args=(lock, num)).start()

 

 
多进程池 from  multiprocessing import Process, Pool import time,os def Foo(i):      time.sleep(2)      print("in process:",os.getpid())      return i + 100 #返回给callback的Bar def Bar(arg):      print('-->exec done:', arg,os.getpid()) if __name__=="__main__":      pool=Pool(processes=5) #允许进程池里同时放入5个进程      print("主进程:",os.getpid())      for i in range(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() #进程池中进程执行完毕后再关闭,如果注释,那么程序直接关闭。