(维基的问题链接:http ://en.wikipedia.org/wiki/Room_synchronization )
假设有 N 个 NODE 类型的资源,用一个数组表示
NODE nodearray[N];
假设有 M 个线程在起作用(读/写)。当第一个线程到达时,它可以自由选择 N 个资源中的任何一个,但只要第一个线程持有资源编号 x(x 为 0 到 n-1),第二个线程必须使用相同的 x。
假设我们要实现两个功能
int get();// gets the resource number for the thread and
void ret();// returns the resource from the thread
任何想法/提示如何实施?