from multiprocessing import Process
import json,time,os
def search():
time.sleep(1) # 模擬網絡io
with open('db.txt',mode='rt',encoding='utf-8') as f:
res = json.load(f)
print(f'還剩{res["count"]}')
def get():
with open('db.txt',mode='rt',encoding='utf-8') as f:
res = json.load(f)
# print(f'還剩{res["count"]}')
time.sleep(1) # 模擬網絡io
if res['count'] > 0:
res['count'] -= 1
with open('db.txt',mode='wt',encoding='utf-8') 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(15):
p = Process(target=task)
p.start()
p.join()