使用锁和线程的合理小型Python示例

2 投票
2 回答
1881 浏览
提问于 2025-04-16 13:20

我在寻找一个合理的例子,使用Python的线程和锁。我的意思是,这个例子应该在效率上真的有用。我知道很多标准的小例子,但它们都缺少至少一个特性:“小”、“合理”或“使用锁”。比如:

  • 测试一组网址的可用性(合理,小,但不使用锁)
  • 实现几个客户端(每个线程一个)和一个持有变量的服务器(或者银行账户之类的)——小,使用锁,但不合理(实际上有更好的实现方式)。
  • 通过线程并行化一个简单的算法(比如对一个大列表求和)——小,但既不合理(因为你不会通过线程来并行化)也不使用锁。

2 个回答

4

Doug Hellmann 的页面总是获取一些示例的好地方:

如果你想了解线程的基本知识,可以看看这里:http://www.doughellmann.com/PyMOTW/threading/index.html

或者如果你更喜欢使用多进程(比如说你遇到了全局解释器锁的问题,或者你想把工作负载分散到多个处理器上),可以参考这个链接:http://www.doughellmann.com/PyMOTW/multiprocessing/index.html

1

Python的队列模块是一个很好的例子,它展示了一个小巧但高效的队列实现,能够很好地解决生产者/消费者问题。

撰写回答