私は書くように頼まれました:次の場合のenter functionとexit function:
N 個のプロセスと M 種類のプロセス (N>>M) があり、同じ種類のすべてのプロセスが入ることができるクリティカル セクションがあります。たとえば、タイプ A が cs にある場合、タイプ B は cs に入ることはできません。ただし、タイプ A のプロセスはすべて入ることができます。
ミューテックスと、プロセスのタイプである「タイプ」のみを使用できます。デッドロックは許されません。
これでいいと思いますか?
shared: this.type = -1;
mutex m, m1=1;
enter{
down(m)
if (this.type == process.type) up(m1)
down(m1)
this.type= process.type
up(m)
}
exit {
this.type = -1
up(m1)
}
ありがとう!(ちなみに、これは HW ではありません。私は試験を受けており、過去のテストを解いています)