CherryPy, потоки и переменные-члены; потенциальные проблемы?
Позволять'скажем, у меня есть следующий простой класс:
import cherrypy
import os
class test:
test_member = 0;
def __init__(self):
return
def index(self):
self.test_member = self.test_member + 1
return str(self.test_member)
index.exposed = True
conf = os.path.join(os.path.dirname(__file__), 'config.ini')
if __name__ == '__main__':
# CherryPy always starts with app.root when trying to map request URIs
# to objects, so we need to mount a request handler root. A request
# to '/' will be mapped to HelloWorld().index().
cherrypy.config.update({'server.socket_host': '0.0.0.0'})
cherrypy.quickstart(test(), config=conf)
else:
# This branch is for the test suite; you can ignore it.
cherrypy.config.update({'server.socket_host': '0.0.0.0'})
cherrypy.tree.mount(test(), config=conf)
Поэтому, когда я открываю свою индексную страницу в первый раз, я возвращаюсь 1, в следующий раз 2, затем 3, 4 и так далее. Мои вопросы:
Есть ли какие-то большие опасности с этим, особенно с темами и множеством людей, одновременно получающих доступ к странице?Должен ли я как-то блокировать переменную-член каждый раз, когда она 's написано для того, чтобы предотвратить проблемы?Что-нибудь изменится, если яВы используете не базовый тип данных в качестве члена (например, мой собственный, сложный класс), а не что-то простое, например, целое число?Я неЯ не совсем понимаю, как работает многопоточность с CherryPy, я полагаю, что в этом простом примере меня беспокоит то, что в одном потоке test_member может быть равен одной вещи, а при доступе из другого потока -было бы что-то совершенно другое. Я заранее прошу прощения, если яя что-то упускаюхорошо документированы, но некоторые прибегают к помощия не могу найти то, что искал. Я понимаю, что для такого простого примера есть несколько относительно простых путей, которые могли бы решить потенциальные проблемы здесь (сохранить состояние переменной в базе данных или что-то в этом роде), но это победило 'т работает в моем случае фактического использования.