【发布时间】:2014-03-20 03:19:16
【问题描述】:
我正在 Heroku 上使用 Flask/Gunicorn 开发一个小型 Web 应用程序。由于我只是在进行原型设计,因此我有一个 Web 进程 (dyno),其中一个工作线程由同一进程启动。 Web 应用程序只是返回一个全局对象的 JSON 转储,它由监视外部 Web 服务的工作线程定期更新。全局对象每 15 到 60 分钟更新一次。我的计划是在需要更新全局对象时在工作线程中使用排他锁,并在 Web 线程中使用共享锁,以便可以同时满足多个请求。不幸的是,Python 似乎没有共享锁,只有排他锁。如何确保 Web 线程的一致性,即如何确保对全局对象的更新是原子的,同时允许对对象进行多次只读访问?
【问题讨论】:
-
@univerio 感谢您的提醒。是的,那里的解决方案适用于此。
标签: python multithreading locking