アプリケーションの実行の一部として、リモートデータベースから辞書を作成します。このプロセスはかなりI/Oが重いので、このディクショナリの「シングルトン」インスタンスを作成し、アプリケーションで必要に応じて呼び出すことにしました。
コードは次のようになります(in Dictionaries.py
):
state_code_dict = None
def get_state_code_dict():
global state_code_dict
if state_code_dict == None:
state_code_dict = generate_state_code_dict()
return state_code_dict
次に、必要に応じて関数をインポートして呼び出しget_state_code_dict()
ます。再初期化または再利用されているかどうかを確認するためにprintステートメントを追加しましたstate_code_dict
が、再利用されていることがわかりました(これは私が望む機能です)。state_code_dict
アプリケーションを存続させるインスタンスが実行されるのはなぜですか?
編集
get_state_code_dict
関数を複数のファイルにインポートします。