Python 多线程卖票问题

Python 多线程卖票问题

在学习多线程的时候,我们经常要学习到多窗口售票这一经典案例,今天我们将用Python语言写一个简单易懂的售票程序,帮助大家学习理解
有以下要求:
第一、不能出现打印出现混乱
第二、比单线程快
第三、票数不能为负数
先上网上百度到的代码

import threading

list_ticket = []
lock = threading.Lock()  # 获取线程锁
num = 100
j = 0

for i in range(1, num + 1):
    ticket_num = '0' * (3 - len(str(i))) + str(i)
    list_ticket.append(ticket_num)


def seel_ticket(k):
    global list_ticket
    global j
    while 1:
        lock.acquire()
        print(k, '号正在打印票')
        if j != 100:
            thre = list_ticket[j]
            j += 1
            print(k, "号出票成功,票号为:", thre)
        else:
            
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值