模擬搶票系統

2021-09-25 11:11:54 字數 669 閱讀 6808

from multiprocessing import process,lock

import json,time,random,os

def piao(mutex):

mutex.acquire() #作用:按順序購票,不會插隊

dic = json.load(open('db.txt')) #讀取,檢視車票總數

if dic['count'] > 0:

dic['count'] -=1

time.sleep(random.randint(1,3)) #每個人的購票時間都不同

json.dump(dic,open('db.txt','w')) #購買之後重新寫入資料

print('【%s 購票成功,剩餘票數%s】'%(os.getpid(),dic['count']))

mutex.release() # 結束的時候必須開鎖,否則別人進不來

if __name__ == '__main__': #windows系統預設用這個

mutex = lock()

for i in range(14): #14個人購票

p = process(target=piao,args=(mutex,))

p.start()

搶票軟體開發 二 模擬登入

本搶票軟體功能設計分為4個部分 1.模擬登入 2.自主選座 3.新增郵寄位址和購票人資訊 4.軟體封裝 這裡以大麥網的搶票軟體為例,登入提供三種方法 暫時不考慮通過第三方進行登入 簡訊登入由於涉及和手機端或者模擬手機端進行通訊,不考慮,僅剩下密碼登入和掃碼登入兩種方式,故初步思考實現模擬登入有三種方...

day28 互鎖lock 模擬搶票

lock 互斥鎖 模擬搶票 子程序1 讀取票數,更新票數 子程序2 搶票方法 1 讀取資料的實際票數 2 判斷票數 如果大於0 搶票成功,票數 1 3 更新資料庫 4 否則else等於0 搶票失敗 子程序3 1 查詢票數 呼叫子程序1的r票數方式 2.上鎖 遇到require上鎖之後,程序變成同步 ...

多執行緒搶票 搶票軟體變身「黃牛」 想要票 多交錢

如今,使用搶票軟體的人越來越多,曾經免費的搶票軟體們紛紛推出vip或加速包,要想票,就必須多交錢,搶票軟體搖身一變成了線上 黃牛 由於地區距離和運營商線路的原因,12306出票的伺服器可能會有很大的延遲,搶票軟體能通過伺服器來發起購票要求,延遲更低,搶的更快。除了反應時間和網路延遲的差別,搶票軟體甚...