python秒杀商品 多线程_Python——多线程
簡單的創建多線程
import threading
# 導入模塊
import time
def xian1():
for i in range(3):
print("老子是第一")
time.sleep(1)
def xian2():
for i in range(3):
print("老子是第二")
time.sleep(1)
def main():
t1 = threading.Thread(target=xian1)
t2 = threading.Thread(target=xian2)
t1.start()
t2.start()
if __name__ == '__main__':
main()
用繼承threading模塊創建多線程類
import threading
# 導入模塊
import time
class A(threading.Thread): #創建一個類繼承threading模塊
def run(self):
for i in range(3):
print("老子是第一")
time.sleep(1)
class B(threading.Thread):
def run(self):
for i in range(3):
print("老子是第二")
time.sleep(1)
def main():
t1 = A()
t2 = B()
t1.start()
t2.start()
t2.run1().start()
if __name__ == '__main__':
main()
多線程? 創建鎖
importthreading#導入模塊
importtime
glock=threading.Lock()#創建鎖
value =0defrun ():globalvalue#上鎖
glock.acquire()for x in range(1000000):
value+= 1
print(value)
glock.release()#解鎖
defmain():for i in range(2):
t1= threading.Thread(target=run)
t1.start()if __name__ == '__main__':
main()
多線程,生產與消費模式
importthreadingimportrandomimporttime#設置總錢數
zongmony = 1000
#創建鎖
glock =threading.Lock()#次數
times =0classscz(threading.Thread):defrun(self):globalzongmonyglobaltimeswhileTrue:#隨機生產一些錢
mony = random.randint(100, 1000)#生產好后建立鎖,
glock.acquire()#判斷是否生產了十次
if times >10:
glock.release()breakzongmony+=mony
times+=1
print("生產者生產了%d元,總共有%d元" %(mony,zongmony))#執行完以后釋放鎖
glock.release()
time.sleep(0.5)classxfz(threading.Thread):defrun(self):globalzongmonyglobaltimeswhileTrue:#隨機消費一些錢
xiaofei = random.randint(100, 1000)
glock.acquire()if xiaofei
zongmony-=xiaofeiprint("消費者消費%d元,剩余%d元"%(xiaofei , zongmony))else:if times >10:
glock.acquire()break
print("余額不足!!")
time.sleep(0.5)
glock.release()defmain():for i in range(5):
t=scz()
t.start()if i >= 2:
t1=xfz()
t1.start()if __name__ == '__main__':
main()
總結
以上是生活随笔為你收集整理的python秒杀商品 多线程_Python——多线程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python selenium 等待页面
- 下一篇: 小程序分享到朋友圈功能_来啦!小程序支持