帮我写一个抢购东西的代码
抢购东西的代码需要根据不同的场景和业务需求进行设计和实现。下面是一个基础的抢购代码,供参考:
import threading
class Goods:
def __init__(self, name, stock):
self.name = name
self.stock = stock
self.lock = threading.Lock()
def buy(self, num):
with self.lock:
if self.stock >= num:
self.stock -= num
print("购买成功,剩余库存:", self.stock)
else:
print("库存不足,购买失败")
def buy_goods(goods, num):
goods.buy(num)
if __name__ == "__main__":
goods = Goods("iPhone 12", 100)
for i in range(10):
t = threading.Thread(target=buy_goods, args=(goods, 10))
t.start()
在这个代码中,我们创建了一个Goods类,表示要抢购的商品,包含商品名称和库存量。在buy方法中,我们使用了线程锁来保证多个线程同时访问时的数据安全性。buy_goods函数表示购买商品的方法,通过传入Goods对象和购买数量来调用buy方法。
在主函数中,我们创建了10个线程来同时进行购买商品的操作,每个线程购买10个商品。运行这个程序后,我们可以看到多个线程同时抢购iPhone 12,如果库存充足,则会成功购买,否则会提示库存不足。
原文地址: http://www.cveoy.top/t/topic/GKU 著作权归作者所有。请勿转载和采集!