模擬一個簡單搶票小程序代碼


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()

為了保證數據的安全,要犧牲掉效率.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM