SemaphoreDemo: Added comments

This commit is contained in:
2024-02-26 11:33:31 +01:00
parent 633672d709
commit a94e1adc68

View File

@@ -2,6 +2,10 @@
// //
// java application to demonstrate // java application to demonstrate
// use of semaphores (Locks) // 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.*; import java.util.concurrent.*;
@@ -12,9 +16,9 @@ public class SemaphoreDemo
public static void main(String args[]) throws InterruptedException public static void main(String args[]) throws InterruptedException
{ {
// creating a Semaphore object // 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); 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); Semaphore semCon = new Semaphore(0);
// creating two threads named "Producer" and "Consumer" // creating two threads named "Producer" and "Consumer"