これは高度な質問ですが、単純に見えます。コードを参照してください (http ハンドラー呼び出しごとに増加する 1 つのグローバル変数)。
some_global_var = 0
class DebugCgiHandler(webapp.RequestHandler):
def get(self):
some_global_var++
self.response.out.write(some_global_var)
Q1. 問題は、単一スレッド モードの Python 2.5 および Python 2.7 で変数が 1 に設定され、同時呼び出しが別の要求で発生した場合にどうなるかということですself.response.out.write(some_global_var)
。1 番目のリクエストと 2 番目のリクエストには何が表示されますか?
Q2. 2 番目の質問は、Python 2.7 をマルチスレッド モードで実行すると、同じ状況で何が起こるかということです。
Q3. 他のスレッドから保護された最後まで同じ値を維持するために、リクエスト処理全体で変数の変更を回避するにはどうすればよいですか?