| java.lang.Object net.sourceforge.jtds.jdbc.Semaphore
Semaphore | public class Semaphore (Code) | | Simple semaphore class used to serialize access requests over the network
connection.
Based on the code originally written by Doug Lea. Once JDK 1.5 is the
standard this class can be replaced by the
java.util.concurrent.Sempahore class.
author: Mike Hutchinson version: $Id: Semaphore.java,v 1.1 2004/12/20 15:51:17 alin_sinpalean Exp $ |
Field Summary | |
protected long | permits Current number of available permits. |
Constructor Summary | |
public | Semaphore(long initialPermits) Create a Semaphore with the given initial number of permits. |
Method Summary | |
public void | acquire() Wait until a permit is available, and take one. | public boolean | attempt(long msecs) Wait at most msecs millisconds for a permit. | public synchronized long | permits() Return the current number of available permits. | public synchronized void | release() Release a permit. | public synchronized void | release(long n) Release N permits. |
permits | protected long permits(Code) | | Current number of available permits.
|
Semaphore | public Semaphore(long initialPermits)(Code) | | Create a Semaphore with the given initial number of permits. Using a
seed of one makes the semaphore act as a mutual exclusion lock. Negative
seeds are also allowed, in which case no acquires will proceed until the
number of releases has pushed the number of permits past 0.
|
permits | public synchronized long permits()(Code) | | Return the current number of available permits. Returns an accurate, but
possibly unstable value, that may change immediately after returning.
|
release | public synchronized void release()(Code) | | Release a permit.
|
release | public synchronized void release(long n)(Code) | | Release N permits. release(n) is equivalent in effect to:
for (int i = 0; i < n; ++i) release();
But may be more efficient in some semaphore implementations.
exception: IllegalArgumentException - if n is negative |
|
|