Java in a Nutshell, 5th Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Java in a Nutshell, 5th Edition [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید


Semaphorejava.util.concurrent

Java 5.0serializable

This class
implements

semaphores , a classic thread
synchronization primitive that can be used to implement mutual
exclusion and wait/notify-style thread synchronization. A
Semaphore maintains some fixed number (specified
when the Semaphore( ) constructor is called) of
permits. The acquire( )
method blocks until a permit is available, then decrements the number
of available permits and returns. The release( )
method does the reverse: it increments the number of permits,
possibly unblocking a thread waiting in acquire(
).

If you pass true as the second argument to the
Semaphore( ) constructor, the semaphore treats
waiting threads fairly by placing them on a FIFO queue in the order
they called acquire( ) and granting permits to the
threads in this order. This prevents thread starvation.


Figure 16-92. java.util.concurrent.Semaphore

public class

Semaphore implements Serializable {
// Public Constructors
public

Semaphore (int

permits );
public

Semaphore (int

permits , boolean

fair );
// Public Instance Methods
public void

acquire ( ) throws InterruptedException;
public void

acquire (int

permits ) throws InterruptedException;
public void

acquireUninterruptibly ( );
public void

acquireUninterruptibly (int

permits );
public int

availablePermits ( );
public int

drainPermits ( );
public final int

getQueueLength ( );
public final boolean

hasQueuedThreads ( );
public boolean

isFair ( );
public void

release ( );
public void

release (int

permits );
public boolean

tryAcquire ( );
public boolean

tryAcquire (int

permits );
public boolean

tryAcquire (long

timeout , TimeUnit

unit )
throws InterruptedException;
public boolean

tryAcquire (int

permits , long

timeout , TimeUnit

unit )
throws InterruptedException;
// Public Methods Overriding Object
public String

toString ( );
// Protected Instance Methods
protected java.util.Collection<Thread>

getQueuedThreads ( );
protected void

reducePermits (int

reduction );
}



    / 1191