diff --git a/Technology/SemaphoreDemo/src/SemaphoreDemo.java b/Technology/SemaphoreDemo/src/SemaphoreDemo.java index 3712c44..7d4cc7c 100644 --- a/Technology/SemaphoreDemo/src/SemaphoreDemo.java +++ b/Technology/SemaphoreDemo/src/SemaphoreDemo.java @@ -2,6 +2,10 @@ // // java application to demonstrate // use of semaphores (Locks) +// +// The Semaphore constructor takes one argument: The number of permits! +// Every acquire granted will decrease the number of available permits by 1. +// Every release of an acquired semaphore will increase the number of permits. import java.util.concurrent.*; @@ -12,9 +16,9 @@ public class SemaphoreDemo public static void main(String args[]) throws InterruptedException { // creating a Semaphore object - // A 1 means that you are allowed 1 write to start with + // Granting 1 permit: You may write one object to the buffer Semaphore semPro = new Semaphore(1); - // A 0 means that you are not allowed to read (as nobody has yet written to the buffer) + // Granting 0 permits: Thou shallt not read what hasn't yet been written! (as nobody has yet written to the buffer) Semaphore semCon = new Semaphore(0); // creating two threads named "Producer" and "Consumer"