summaryrefslogtreecommitdiff
path: root/java/src/Semaphore.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/Semaphore.java')
-rw-r--r--java/src/Semaphore.java103
1 files changed, 0 insertions, 103 deletions
diff --git a/java/src/Semaphore.java b/java/src/Semaphore.java
deleted file mode 100644
index 6c5427bb0c0..00000000000
--- a/java/src/Semaphore.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Semaphore.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-class TimedWaitSAdapter extends JACE.ASX.TimedWait
-{
- TimedWaitSAdapter (Object obj)
- {
- super (obj);
- }
-
- // Check to see if there are any semaphores available.
- public boolean condition ()
- {
- return this.count_ > 0;
- }
-
- // Increment the count by one
- public void increment ()
- {
- this.count_++;
- }
-
- // Decrement the count by one
- public void decrement ()
- {
- this.count_--;
- }
-
- // Set the count
- public void count (int c)
- {
- this.count_ = c;
- }
-
- private int count_ = 0;
-}
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- * Implementation of Dijkstra's counting semaphore in java.
- */
-public class Semaphore
-{
- /**
- * Create a Semaphore.
- *@param count semaphore count
- */
- public Semaphore (int c)
- {
- this.monitor_.count (c);
- }
-
- /**
- * Acquire the Semaphore. Note that this will block.
- *@exception InterruptedException exception during wait
- */
- public synchronized void acquire () throws InterruptedException
- {
- this.monitor_.timedWait ();
- this.monitor_.decrement ();
- }
-
- /**
- * Acquire the Semaphore. Throws a TimeoutException if the semaphore
- * isn't acquired before the given absolute time.
- *@param tv time (TimeValue) to wait until before throwing a
- * TimeoutException (unless the semaphore is acquired before that)
- *@exception TimeoutException wait timed out exception
- *@exception InterruptedException exception during wait
- */
- public synchronized void acquire (TimeValue tv)
- throws JACE.ASX.TimeoutException, InterruptedException
- {
- this.monitor_.timedWait (tv);
- this.monitor_.decrement ();
- }
-
- /**
- * Release the Semaphore.
- */
- public synchronized void release ()
- {
- this.monitor_.increment ();
- this.monitor_.signal ();
- }
-
- private TimedWaitSAdapter monitor_ = new TimedWaitSAdapter (this);
- // The monitor (adapter) to wait on
-}