並行フレームワークの抽象層
抽象層は次の 3つのクラスから構成される:
- Resource
- スレッドが占有する何がしかの資源を表す抽象ベースクラス。
- ResourceWork
- Resource に対して処理を行うワーククラス。並行に実行される。
- Parallelizer
- Resource と ResourceWork, そしてスレッドを管理し、並行実行を制御するクラス。
多数のワークオブジェクトと、少数のワーカースレッドがあり、スレッドにワークを順々に実行させる、いわゆるワーカースレッドモデルが基本設計となっている。
さらに、各スレッドが一つ占有する、抽象的な「リソース」を設けてある。
ワークはこのリソースを利用して処理を行うことができる。