(wikiへの問題リンク: http://en.wikipedia.org/wiki/Room_synchronization )
配列で表されるタイプ NODE のリソースが N 個あるとします。
NODE nodearray[N];
動作する (読み取り/書き込み) スレッドが M 個あるとします。最初のスレッドが到着すると、N リソースのいずれかを自由に選択できますが、最初のスレッドがリソース番号 x (x は 0 から n-1) を保持している限り、2 番目のスレッドは同じ x を使用する必要があります。
2 つの関数を実装するとします。
int get();// gets the resource number for the thread and
void ret();// returns the resource from the thread
どのように実装できるかについてのアイデア/ヒントはありますか?