Python抢购代码实现:多线程库存管理示例
抢购东西的代码需要根据不同的场景和业务需求进行设计和实现。下面是一个基础的抢购代码,供参考:
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',如果库存充足,则会成功购买,否则会提示库存不足。
原文地址: https://www.cveoy.top/t/topic/lXbZ 著作权归作者所有。请勿转载和采集!