評価16: 非同期と並行処理
評価の目的
学習者がZigの非同期プログラミングと並行処理を安全に実装できるかを評価します。
学習目標
- async/awaitの基本を理解する
- スレッドセーフなコードを書ける
- 競合状態を防ぐ設計ができる
- 並行処理のパフォーマンス最適化
- [ ] 競合状態がない
- [ ] デッドロックの可能性がない
- [ ] リソースが適切に解放される
- [ ] スレッドが正しくjoinされる
- [ ] 非同期エラーが処理される
- 必須要件で64点以上(80%)
- 競合状態・デッドロックがないこと
評価項目
必須要件 (80点)
| 項目 | 配点 | 基準 |
|---|---|---|
| async関数の定義 | 20点 | 正しいシグネチャ |
| awaitの使用 | 20点 | 適切な待機処理 |
| スレッド生成 | 20点 | std.Threadの正しい使用 |
| 同期プリミティブ | 20点 | Mutex/Semaphoreの使用 |
ボーナス要件 (20点)
| 項目 | 配点 | 基準 |
|---|---|---|
| 並行タスクの結合 | 10点 | 複数タスクの管理 |
| デッドロック回避 | 10点 | 適切なロック順序 |