from multiprocessing import Process
import json,time,os
def search():
time.sleep(1)
with open('db.txt','rt',encoding='utf8') as f:
res=json.load(f)
print(f'还剩{res["count"]}')
def get():
with open('db.txt','rt',encoding='utf8')as f:
res=json.load(f)
time.sleep(1)
if res['count']>0:
res['count']-=1
with open('db.txt','wt',encoding='utf8')as f:
json.dump(res,f)
time.sleep(1.5) #模拟网络io
print(f'进程{os.getpid()}抢票成功')
else:
print('票已经售空了')
def task():
search()
get()
if __name__ == '__main__':
for i in range(10):
p=Process(target=task)
p.start()
p.join()
# 为了保证数据的安全,要牺牲掉效率.
抢票小程序