我被要求写:以下情况的输入函数和退出函数:
有 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)
}
谢谢!(顺便说一句,这不是硬件。我有考试,我正在解决前几年的考试)