Scala で学ぶ並行処理¶
概要¶
本シリーズでは、Scala 3 を使用して並行処理プログラミングの基礎から応用までを学びます。
目次¶
| Part | トピック | 内容 |
|---|---|---|
| Part I | 逐次処理 | パスワードクラッキング、パフォーマンス |
| Part II | スレッド | Thread、Future、並列実行 |
| Part III | マルチタスキング | ゲームループ、タスクスケジューリング |
| Part IV | 並列パターン | Fork/Join、パイプライン |
| Part V | 同期と排他制御 | synchronized、デッドロック回避 |
| Part VI | ノンブロッキング I/O | NIO、Selector |
| Part VII | 非同期プログラミング | Future、Promise |
| Part VIII | 分散並列処理 | MapReduce、並列コレクション |
環境設定¶
必要なツール¶
- Scala 3.3.1
- sbt 1.9.7
- JDK 11 以上
プロジェクト構成¶
apps/scala/
├── build.sbt
├── project/
│ └── build.properties
├── src/
│ ├── main/scala/concurrency/
│ │ ├── ch02/ # Part I
│ │ ├── ch04/ # Part II
│ │ ├── ch05/ # Part II
│ │ ├── ch06/ # Part III
│ │ ├── ch07/ # Part IV
│ │ ├── ch08/ # Part V
│ │ └── ch13/ # Part VIII
│ └── test/scala/concurrency/
ビルドと実行¶
cd apps/scala
sbt compile # コンパイル
sbt test # テスト実行