From 05ac7acec75e0be89df8c1fb57b8f649b4d1d8bb Mon Sep 17 00:00:00 2001 From: yang <308774057@qq.com> Date: Thu, 21 Jul 2022 22:57:49 +0800 Subject: [PATCH] hw --- hw1/hw1/Program.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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