线程

卖火车票

import threading as th
import random as ran


ticketPlace=['北京','上海','杭州','天津']
lock=th.Lock()

#创建火车票编号
ticketIds=[]
for i in range(1,101):
    id='南京--第'+str(i).zfill(5)+'坐'
    ticketIds.append(id)

def fun():
    while True:
        lock.acquire()#上锁
        ticketId=ran.choice(ticketIds)
        print(th.current_thread().name+'卖出编号为'+ticketId+'还剩:'+str(len(ticketIds)-1)+'票')
        ticketIds.remove(ticketId)
        if len(ticketIds)==0:
            print('已售馨!')
            break
        lock.release()#解锁

for i in range(4):#创建四个线程一起买
    th.Thread(target=fun,name=ticketPlace[i]).start()
    # fun方法传参的时候不能加括号,如果加了后面的参数就穿不进去了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值