読者です 読者をやめる 読者になる 読者になる

Rodhos Soft

備忘録を兼ねた技術的なメモです。

マルチスレッドのデザインパターン

デザインパターン Swift

以下を参照しつつマルチスレッドのデザインパターンを概観し、適宜Swiftでの実装を考える。


Single Threaded Execution (同時にできない)

クリティカルセクション

Immutable (不変)

Guarded Suspension (用意できるまで待つ)

Balking (用意できないならやめる)

Producer-Consumer (生産者と消費者をわける)

Read-Write Lock (書く人は一人、読むのは誰でも)

Thread-Per-Message (処理を他のスレッドに任せる)

Worker Thread (スレッドを貯めておいて仕事を振る)

Future (任せておいた仕事の結果を同期的に受け取る)

Two-Phase Termination (適切な終了処理)

Thread-Specific Storage (スレッド毎に保存できる領域を確保しておく)

Active Object (自律的なオブジェクト)

Switで実装してみた。
github.com