読み込みはOKというパターン。取得時に厳密な同期の必要ない、例えばそのうち拾えればいいイベントの定期取得等は、書き込みの瞬間とかぶって前の結果が取れても大事にはならないのでこのパターンで十分。非スレッドセーフな処理に対して、各スレッドに「いつなら実行OK」と割り当てを行うってことだと思う。効率のいい数だけスレッドを作成し、その上で処理を実行してもらう仕組み。何も考えずに実現すると実際にどのスレッドが実働しているのかがわからないことが起因して混乱を招くので注意。スレッドごとに違う値を持つstatic変数を用意できる(同じファイル内のstatic変数を別スレッドで使ってもOKって感じだと思われます)。スレッドを安全に終了させる方法。何も考えずにcancelして強制終了すると大変なことになるので、終了シーケンスはちゃんと作りましょう。メモリ領域を確保しておいて、メモリ作成にかかるコストを抑えたりメモリ管理を一元管理する。Injectionはまちがっている。作成後は状態を変えることのできないオブジェクト。非同期処理で、イベントが来たからその都度すぐに処理をするのではなく、優先度順とか自分に都合のいいタイミングで処理を実行する。記事をクリップするStrategyについてWikipediaのJavaサンプルでは、正直これだとInterface実体を持つの何が違うの?って思いました。さんからのコメントより、他のwikipediaの例がわかりやすいとのことPythonの例だとコンストラクタに戦略としてメソッドを与えて、on_submitの動作をガラッと変えています。9"英語のJavaの例setStrategyで途中からStrategy変更が可能にしてあり、ハッピーアワーが来たらHappyHourStrategyに切り替えてますね。同じお客さんに対して、情報コピーとかせずとも時間に応じて注文料金計算のアルゴリズムだけが変えられるわけですね。