## org.jboss.util
Class Semaphore

    java.lang.Object
      |
      +--org.jboss.util.Semaphore

All Implemented Interfaces:
  Sync

Direct Known Subclasses:
  BeanSemaphore, WaitSemaphore

public class Semaphore
extends java.lang.Object
implements Sync

Semaphore that can allow a specified number of threads to enter, blocking the others. If the specified number of threads is 1, it acts as an exclusive semaphore and can be used instead of synchronized blocks

Version:
  $Revision: 1.2.4.1 $
Author:
  Simone Bordet (simone.bordet@compaq.com)

Constructor Summary
`Semaphore(int allowed)`

Method Summary
`void` `acquire()` Acquires this sync
`int` `getUsers()`
`protected void` `logAcquire()`
`protected void` `logDeadlock()`
`protected void` `logRelease()`
`void` `release()` Releases this sync
`java.lang.String` `toString()`
`protected boolean` `waitImpl(java.lang.Object lock)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Semaphore

    public Semaphore(int allowed)

Method Detail

### getUsers

    public int getUsers()

### acquire

    public void acquire()
                 throws java.lang.InterruptedException

  Description copied from interface: `Sync`
  Acquires this sync
  Specified by:
    `acquire` in interface `Sync`
  Following copied from interface: `org.jboss.util.Sync`
  See Also:
    `Sync.release()`

### release

    public void release()

  Description copied from interface: `Sync`
  Releases this sync
  Specified by:
    `release` in interface `Sync`
  Following copied from interface: `org.jboss.util.Sync`
  See Also:
    `Sync.acquire()`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### waitImpl

    protected boolean waitImpl(java.lang.Object lock)
                        throws java.lang.InterruptedException

### logAcquire

    protected void logAcquire()

### logDeadlock

    protected void logDeadlock()

### logRelease

    protected void logRelease()

Copyright © 2000 The JBoss Organization. All Rights Reserved.