进程同步锁:
当运行程序的时候,有可能你的程序同时开多个进程,开进程的时候会将多个执行结果打印出来,这样的话打印的信息都是错乱的,怎么保证打印信息是有序的呢?
其实也就是相当于让进程独享资源。
1 from multiprocessing import Process,Lock #引用函数 2 import time 3 def work(name,mutex): 4 mutex.acquire() #在这里加入锁 5 print('task <%s> is runing' %name) 6 time.sleep(2) 7 print('task <%s> is done' % name) 8 mutex.release() #加完锁以后必须需要解锁 9 10 if __name__ == '__main__': 11 mutex=Lock() 12 p1=Process(target=work,args=('egon',mutex)) 13 p2=Process(target=work,args=('alex',mutex)) 14 p1.start() 15 p2.start() 16 print('主')
比如说模拟抢票的功能:
要先写一个文本 ("count":1) 就记个数就行
1 import json 2 import os 3 import time 4 from multiprocessing import Process,Lock 5 def search(): 6 dic=json.load(open('db.txt')) 7 print('