この記事について
- Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだ際の覚え書きです
覚え書き
競合状態、デッドロック状態、並行更新の問題の原因が、すべて可変変数にあるからだ
- 並列処理を容易に行うためには不変であるべき
不変性に関する最も一般的な妥協となるのは、アプリケーションまたはアプリケーションのサービスを「可変コンポーネント」と「不変コンポーネント」に分離することである
- 全てを不変にすることはできなくても可変と不変を分離する努力はしようと思った
まとめ
- 不変にすることで並列処理における悩みが減ることがわかった
- スコープが広い変数は並行更新などのリスクが大きくなるため、できるだけ小さいスコープで変数を利用することが並列処理の問題を発生させないコツだと感じた