2012/01/06

ロックアウトゲート

ロックアウトゲートが作りたいのだが。

ロックアウトゲート(いま勝手に考えた言葉)とは:

# ロックアウトされていないときは入りたいスレッド(従業員)が好きなだけ出入りできる。
# あるスレッド(経営者)がロックアウトしようとしたとき、
* いま入っている従業員スレッドが全員出るまで待つ。
* 新たに入ろうとする従業員スレッドは無期限に待たされる。
* 全員出たらロックアウト状態として制御を返す。
# 経営者スレッドがロックアウトを解除するまではだれも入れない。経営者も入れない(笑)。

ReaderWriterLockSlim を使って実装できそうな気がするんだがなんかうまくいかん。

最終目的はロックアウトゲートじゃないから、他の実現方法を考えたほうがいいということか。