锁机制:
l = Lock()
简单记忆:
一把锁配一把钥匙.
拿钥匙, 锁门, l.acuire()
还钥匙, 关门, l.release()
例子:
简单模拟购票:
from multiprocessing import Process,Lock # 导入multiprocessing模块中的 Process方法(创建进程), 和 Lock 方法. import time # 导入时间模块 def check(i): # 定义一个查票的函数 with open('余票') as f: # 打开车票存储文件夹, 读取里面剩余票数. 同一时间每个人查询到的票数是一致的 con = f.read() print('第%s个人查到余票还有%s张'%(i,con)) 将每个人查到的结果打印在屏幕上 def buy_ticket(i,l): # 定义一个购票的函数 l.acquire() # 开启锁机制 , 拿钥匙锁门, 不让其他进程进来,等次次进程执行结束后, 再让其他进程进来. with open('余票') as f: # 打开文件读取票数 con = int(f.read()) time.sleep(0.1) # 睡眠0.1秒, 模拟一个网络延迟. if con > 0: # 当剩余票数大于0的时候, 就能够购票. print('