diff --git a/hw1/hw1/Program.cs b/hw1/hw1/Program.cs index e0714ee..ddf97cb 100644 --- a/hw1/hw1/Program.cs +++ b/hw1/hw1/Program.cs @@ -33,21 +33,23 @@ public void Test() // 提示:使用定义好的 P函数 与 V函数 + Semaphore sem=new Semaphore(1,1); public void Produce() { // 可以加东西 - + P(sem); Producer.ProduceACake(cake); // 这句话不允许改,但可以在前后加代码 - + V(sem); // 可以加东西 } public void Consume() { // 可以加东西 - + P(sem); + if(cake.Error) Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 - + V(sem); // 可以加东西 } @@ -101,4 +103,4 @@ public static void ConsumeACake(Cake cake) cake.SubNum(); } } -} \ No newline at end of file +}