【发布时间】:2012-03-15 06:10:11
【问题描述】:
我有一个用 Python 编写的小型桌面游戏,希望能够在游戏运行时访问它的内部。我正在考虑通过在单独的线程上运行 web.py 并提供页面来做到这一点。因此,当我访问http://localhost:8080/map 时,它会显示当前级别的地图以进行调试。
我安装并运行了 web.py,但我真的不知道从这里去哪里。我尝试在单独的线程中启动 web.application,但由于某种原因,我无法在线程之间共享数据(我认为)。
下面是一个简单的例子,我正在使用测试这个想法。我以为http://localhost:8080/ 每次都会返回不同的数字,但它一直显示相同的数字 (5)。如果我在 while 循环中打印 common_value,它会递增,但它从 5 开始。
我在这里遗漏了什么,这种方法在任何地方都接近合理吗?如果可能的话,我真的很想避免使用数据库。
import web
import thread
urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())
common_value = 5
class hello:
def GET(self):
return str(common_value)
if __name__ == "__main__":
thread.start_new_thread(app.run, ())
while 1:
common_value = common_value + 1
【问题讨论】:
标签: multithreading web.py