From c7935bea23aef6c1feed3084268ac93acfb986d6 Mon Sep 17 00:00:00 2001 From: qwertzniki6 <104077966+bretzNiklas@users.noreply.github.com> Date: Mon, 12 Dec 2022 16:14:39 +0100 Subject: [PATCH] refractored to adhere to coding conventions --- Aufgabe3/ConsoleApplication1/Consumer.cs | 2 +- Aufgabe3/ConsoleApplication1/Producer.cs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Aufgabe3/ConsoleApplication1/Consumer.cs b/Aufgabe3/ConsoleApplication1/Consumer.cs index 24a347a..334c90e 100644 --- a/Aufgabe3/ConsoleApplication1/Consumer.cs +++ b/Aufgabe3/ConsoleApplication1/Consumer.cs @@ -27,7 +27,7 @@ namespace ConsoleApplication1 Console.WriteLine("consumer asleep..."); Thread.Sleep(50); - //if wakeConsumersUp = true is asAsleep is set to true and if(isAsleep) "loop" is exited on next interation + //if wakeConsumersUp = true is asAsleep is set to true and if(isAsleep) "loop" is exited on next iteration if (_wakeConsumersUp) { Console.WriteLine("consumer was woken up"); diff --git a/Aufgabe3/ConsoleApplication1/Producer.cs b/Aufgabe3/ConsoleApplication1/Producer.cs index 94b2d37..e2a54b4 100644 --- a/Aufgabe3/ConsoleApplication1/Producer.cs +++ b/Aufgabe3/ConsoleApplication1/Producer.cs @@ -16,7 +16,7 @@ namespace ConsoleApplication1 public Producer(Buffer buffer) { _random = new Random(); - this._buffer = buffer; + _buffer = buffer; } @@ -24,17 +24,20 @@ namespace ConsoleApplication1 { while (true) { + //if isAsleep = true: method checks if wakeProducersUp has been set to true every 50ms if (_isAsleep) { Console.WriteLine("producer asleep..."); Thread.Sleep(50); + //if wakeProducersUp = true is asAsleep is set to true and if(isAsleep) "loop" is exited on next iteration if (_wakeProducersUp) { Console.WriteLine("producer was woken up"); _isAsleep = false; } } + //if producer isnt asleep: producer gets mutex from buffer, wakes up consumers if buffer is empty and removes cars if producers is not full else { Thread.Sleep(_random.Next(500, 1500)); @@ -52,6 +55,7 @@ namespace ConsoleApplication1 _buffer.push(c); Console.WriteLine("car " + c.getThisCarId() + " added"); } + //if buffer is full: producers are set to sleep, own instance is set to sleep else { _wakeProducersUp = false; @@ -65,6 +69,7 @@ namespace ConsoleApplication1 } } + //this consumer instance can be woken up by calling this method public static void WakeUp() { _wakeProducersUp = true; -- GitLab