threading.local()の使い方のメモ。 threading.local()は、以下のように考えるとわかりやすい。 仮に、オプジェクトの内部構造を見るinternalという関数があったとしよう。 threading.local()を呼ぶと、ディクショナリを持った新しいオプジェクトが作られる。 >>>tss1 = threading.local() >>>internal(tss1.__dict__) {} tss1に値をセットすると、自動的に、スレッド番号をキーとしたサブディクショナリへ値がセットされる。仮にスレッド番号が9056とすると、 >>>tss1.val = 10 >>>internal(tss1.__dict__) {9056: {'val': 10}} >>>tss1.val 10 違うスレッドから値valをセットすると、違うサブディクショナリへセットされる。 >>