diff --git a/Aufgabe3/ConsoleApplication1/Car.cs b/Aufgabe3/ConsoleApplication1/Car.cs index eacb0d971dc62af256bd81cb14e66419a0490270..4d194d201afe6ab824ff1baec3f391fc8417d04e 100644 --- a/Aufgabe3/ConsoleApplication1/Car.cs +++ b/Aufgabe3/ConsoleApplication1/Car.cs @@ -14,8 +14,7 @@ namespace ConsoleApplication1 // Constructor which sets the car id and increments ++ the carId for the next object public Car() { - thisCarId = carId; - carId++; + thisCarId = carId++; Console.WriteLine("car created. id = " + thisCarId); } diff --git a/Aufgabe3/ConsoleApplication1/Consumer.cs b/Aufgabe3/ConsoleApplication1/Consumer.cs index 55248acbe1fc2261b16b7358d7644895857c154a..44dbbb0aaee3e1b7dde08d0588e458e13bd63417 100644 --- a/Aufgabe3/ConsoleApplication1/Consumer.cs +++ b/Aufgabe3/ConsoleApplication1/Consumer.cs @@ -6,57 +6,57 @@ namespace ConsoleApplication1 { public class Consumer { - private Buffer b; - private Random r; - private Boolean isAsleep; - private static Boolean wakeConsumersUp; + private Buffer _buffer; + private Random _random; + private Boolean _isAsleep; + private static Boolean _wakeConsumersUp; - public Consumer(Buffer b) + public Consumer(Buffer buffer) { - this.b = b; - r = new Random(); + _buffer = buffer; + _random = new Random(); } - public void consume() + public void Consume() { while (true) { //if isAsleep = true: method checks if wakeConsumersUp has been set to true every 50ms - if (isAsleep) + if (_isAsleep) { 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) + if (_wakeConsumersUp) { Console.WriteLine("consumer was woken up"); - isAsleep = false; + _isAsleep = false; } } //if consumer isnt asleep: consumer gets mutex from buffer, wakes up producers if buffer is full and removes cars if consumer is not empty else { - Thread.Sleep(r.Next(500, 1500)); - Mutex m = b.getMutex(); + Thread.Sleep(_random.Next(500, 1500)); + Mutex m = _buffer.getMutex(); m.WaitOne(); - if (b.full()) + if (_buffer.full()) { Producer.wakeUp(); } - if (!b.empty()) + if (!_buffer.empty()) { - Car c = b.pop(); + Car c = _buffer.pop(); Console.WriteLine("car pulled out of parking space. car id = " + c.getThisCarId()); } //if buffer is empty: consumers are set to sleep, own instance is set to sleep else { - wakeConsumersUp = false; - isAsleep = true; + _wakeConsumersUp = false; + _isAsleep = true; } m.ReleaseMutex(); @@ -66,9 +66,9 @@ namespace ConsoleApplication1 } //this consumer instance can be woken up by calling this method - public static void wakeUp() + public static void WakeUp() { - wakeConsumersUp = true; + _wakeConsumersUp = true; } } diff --git a/Aufgabe3/ConsoleApplication1/Producer.cs b/Aufgabe3/ConsoleApplication1/Producer.cs index dbb11500b3e0f95ad15330edb96e364cf43e96ac..aac8d952435ab74e8add873b0ffc5addedaf0a2e 100644 --- a/Aufgabe3/ConsoleApplication1/Producer.cs +++ b/Aufgabe3/ConsoleApplication1/Producer.cs @@ -43,7 +43,7 @@ namespace ConsoleApplication1 if (b.empty()) { - Consumer.wakeUp(); + Consumer.WakeUp(); } if (!b.full()) diff --git a/Aufgabe3/ConsoleApplication1/Program.cs b/Aufgabe3/ConsoleApplication1/Program.cs index 26bb25504e988cab73285534f9c0ab4023a655f2..28b03b772669eecbe9e240ca5de20418ed3b9930 100644 --- a/Aufgabe3/ConsoleApplication1/Program.cs +++ b/Aufgabe3/ConsoleApplication1/Program.cs @@ -37,7 +37,7 @@ namespace ConsoleApplication1 Consumer c = new Consumer(b); //create new Thread and start it - Thread newThread = new Thread(c.consume); + Thread newThread = new Thread(c.Consume); newThread.Start(); } diff --git a/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe b/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe index 02aa27e8606244769bbca3da4331b159205bf03c..2d94b58da8a0aeda545e423e7a64722e2abafce6 100644 Binary files a/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe and b/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe differ diff --git a/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.pdb b/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.pdb index 9f7cb6a08434058f9533c684880c78f9253e3888..3aad640ed3657cecdd96eeae8fb2d954b5243d86 100644 Binary files a/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.pdb and b/Aufgabe3/ConsoleApplication1/bin/Debug/ConsoleApplication1.pdb differ diff --git a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.FileListAbsolute.txt b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.FileListAbsolute.txt index 732c55b417cbe29066fef6454737ef73b79c6231..8ac6070d45f60bdd96a7fa82c7b1ab5684f533b7 100644 --- a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.FileListAbsolute.txt +++ b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.FileListAbsolute.txt @@ -5,3 +5,9 @@ C:\Users\Home\RiderProjects\ConsoleApplication1\ConsoleApplication1\obj\Debug\Co C:\Users\Home\RiderProjects\ConsoleApplication1\ConsoleApplication1\obj\Debug\ConsoleApplication1.csproj.CoreCompileInputs.cache C:\Users\Home\RiderProjects\ConsoleApplication1\ConsoleApplication1\obj\Debug\ConsoleApplication1.exe C:\Users\Home\RiderProjects\ConsoleApplication1\ConsoleApplication1\obj\Debug\ConsoleApplication1.pdb +C:\Users\Niklas\RiderProjects\inf3_gitlab\Aufgabe3\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe +C:\Users\Niklas\RiderProjects\inf3_gitlab\Aufgabe3\ConsoleApplication1\bin\Debug\ConsoleApplication1.pdb +C:\Users\Niklas\RiderProjects\inf3_gitlab\Aufgabe3\ConsoleApplication1\obj\Debug\ConsoleApplication1.csprojAssemblyReference.cache +C:\Users\Niklas\RiderProjects\inf3_gitlab\Aufgabe3\ConsoleApplication1\obj\Debug\ConsoleApplication1.csproj.CoreCompileInputs.cache +C:\Users\Niklas\RiderProjects\inf3_gitlab\Aufgabe3\ConsoleApplication1\obj\Debug\ConsoleApplication1.exe +C:\Users\Niklas\RiderProjects\inf3_gitlab\Aufgabe3\ConsoleApplication1\obj\Debug\ConsoleApplication1.pdb diff --git a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.exe b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.exe index 02aa27e8606244769bbca3da4331b159205bf03c..2d94b58da8a0aeda545e423e7a64722e2abafce6 100644 Binary files a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.exe and b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.exe differ diff --git a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.pdb b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.pdb index 9f7cb6a08434058f9533c684880c78f9253e3888..3aad640ed3657cecdd96eeae8fb2d954b5243d86 100644 Binary files a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.pdb and b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.pdb differ