diff --git a/hw1/hw1/Program.cs b/hw1/hw1/Program.cs index e0714ee..95789c4 100644 --- a/hw1/hw1/Program.cs +++ b/hw1/hw1/Program.cs @@ -22,7 +22,7 @@ public void Test() public void P(Semaphore sema) => sema.WaitOne(); public void V(Semaphore sema) => sema.Release(); -// ================================================================================================================ + // ================================================================================================================ // 题目:现在有一个消费者,一个生产者。消费者生产一个蛋糕,消费者消费一个蛋糕。 // 初始时没有蛋糕。两个线程开始的时间不确定。 @@ -30,30 +30,33 @@ public void Test() // 要求:保证消费者消费蛋糕时,生产者已经把蛋糕生产好了 // 修改范围内的代码,允许添加字段或者属性或者方法,使程序满足要求 - + // 提示:使用定义好的 P函数 与 V函数 public void Produce() { // 可以加东西 - + Producer.ProduceACake(cake); // 这句话不允许改,但可以在前后加代码 - + // 可以加东西 + V(Sem); } public void Consume() { // 可以加东西 - + P(Sem); + Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 // 可以加东西 } - + // 可以加东西 + public Semaphore Sem = new Semaphore(0, 2); -// ================================================================================================================== + // ================================================================================================================== } public class Cake