Skip to content

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       # テスト実行

参考資料