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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值