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 может быть равен одной вещи, а при доступе из другого потока -было бы что-то совершенно другое. Я заранее прошу прощения, если яя что-то упускаюхорошо документированы, но некоторые прибегают к помощия не могу найти то, что искал. Я понимаю, что для такого простого примера есть несколько относительно простых путей, которые могли бы решить потенциальные проблемы здесь (сохранить состояние переменной в базе данных или что-то в этом роде), но это победило 'т работает в моем случае фактического использования.

Ответы на вопрос(1)

Ваш ответ на вопрос