一、进程锁
1、避免多个进程同时操作同一个值,导致数据混乱
2、通过进程锁,锁定num的值,让进程有序的进行数据修改
3、主进程的锁通过参数传入给子进程使用
import multiprocessing
def demo(num,lock):
#获取进程锁
lock.acquire()
num += 1
print(num)
#释放进程锁
lock.release()
if __name__ == '__main__':
multiprocessing.set_start_method("spawn")
lock = multiprocessing.RLock()#创建进程锁
num = 0
p_list = []
for i in range(multiprocessing.cpu_count()-1):
p = multiprocessing.Process(target=demo,args=(num,lock))
p.start()
p_list.append(p)
for k in p_list:
k.join()
欢迎来到testingpai.com!
注册 关于