From d9f84418f0cca30c5079ac8841d76e152ccc86dc Mon Sep 17 00:00:00 2001 From: sky <2336526392@qq.com> Date: Sat, 9 Jul 2022 17:37:15 +0800 Subject: [PATCH 1/3] MultiThreading Homework --- hw1/hw1/Program.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hw1/hw1/Program.cs b/hw1/hw1/Program.cs index e0714ee..06b55b9 100644 --- a/hw1/hw1/Program.cs +++ b/hw1/hw1/Program.cs @@ -36,21 +36,24 @@ public void Test() public void Produce() { // 可以加东西 - + P(sem); Producer.ProduceACake(cake); // 这句话不允许改,但可以在前后加代码 - + V(sem); // 可以加东西 } public void Consume() { // 可以加东西 - - Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 - + P(sem); + if (cake.Num >= 1) + { + Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 + } + V(sem); // 可以加东西 } - + Semaphore sem = new Semaphore(1, 1); // 可以加东西 // ================================================================================================================== From 3543ac07789d6c428fc453a13f340f7d1d0e42de Mon Sep 17 00:00:00 2001 From: sky <2336526392@qq.com> Date: Sat, 9 Jul 2022 17:52:21 +0800 Subject: [PATCH 2/3] MultiThread HomeWork by wsk --- hw1/hw1/Program.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw1/hw1/Program.cs b/hw1/hw1/Program.cs index 06b55b9..21d0839 100644 --- a/hw1/hw1/Program.cs +++ b/hw1/hw1/Program.cs @@ -38,8 +38,8 @@ public void Produce() // 可以加东西 P(sem); Producer.ProduceACake(cake); // 这句话不允许改,但可以在前后加代码 - V(sem); // 可以加东西 + V(sem); } public void Consume() @@ -48,15 +48,15 @@ public void Consume() P(sem); if (cake.Num >= 1) { - Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 + Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 } - V(sem); // 可以加东西 + V(sem); } - Semaphore sem = new Semaphore(1, 1); // 可以加东西 + Semaphore sem = new Semaphore(1, 1); -// ================================================================================================================== + // ================================================================================================================== } public class Cake From dcd8b2170c0dcc4aefa302c43ec20232e6e51203 Mon Sep 17 00:00:00 2001 From: sky <2336526392@qq.com> Date: Sat, 9 Jul 2022 19:23:07 +0800 Subject: [PATCH 3/3] Homework 4 --- hw1/hw1/Program.cs | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/hw1/hw1/Program.cs b/hw1/hw1/Program.cs index 21d0839..7a7e51c 100644 --- a/hw1/hw1/Program.cs +++ b/hw1/hw1/Program.cs @@ -37,24 +37,38 @@ public void Produce() { // 可以加东西 P(sem); - Producer.ProduceACake(cake); // 这句话不允许改,但可以在前后加代码 + try + { + Producer.ProduceACake(cake); // 这句话不允许改,但可以在前后加代码 + pro = true; + } // 可以加东西 - V(sem); + finally + { + V(sem); + } } public void Consume() { // 可以加东西 - P(sem); - if (cake.Num >= 1) + if (pro) { - Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 + P(sem); + try + { + Consumer.ConsumeACake(cake); // 这句话不允许改,但可以在前后加代码 + } + finally + { + V(sem); + } } // 可以加东西 - V(sem); } // 可以加东西 Semaphore sem = new Semaphore(1, 1); + public bool pro = false; // ================================================================================================================== }