SemaphoreDemo: Added comments
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user