public class LimitLatch
extends java.lang.Object
Constructor and Description |
---|
LimitLatch(long limit)
Instantiates a LimitLatch object with an initial limit.
|
Modifier and Type | Method and Description |
---|---|
long |
countDown()
Releases a shared latch, making it available for another thread to use.
|
void |
countUpOrAwait()
Acquires a shared latch if one is available or waits for one if no shared
latch is current available.
|
long |
getCount()
Returns the current count for the latch
|
long |
getLimit()
Obtain the current limit.
|
java.util.Collection<java.lang.Thread> |
getQueuedThreads()
Provide access to the list of threads waiting to acquire this limited
shared latch.
|
boolean |
hasQueuedThreads()
Returns
true if there is at least one thread waiting to
acquire the shared lock, otherwise returns false . |
boolean |
releaseAll()
|
void |
reset()
Resets the latch and initializes the shared acquisition counter to zero.
|
void |
setLimit(long limit)
Sets a new limit.
|
public LimitLatch(long limit)
limit
- - maximum number of concurrent acquisitions of this latchpublic long getCount()
public long getLimit()
public void setLimit(long limit)
limit
- The new limitpublic void countUpOrAwait() throws java.lang.InterruptedException
java.lang.InterruptedException
public long countDown()
public boolean releaseAll()
public void reset()
releaseAll()
public boolean hasQueuedThreads()
true
if there is at least one thread waiting to
acquire the shared lock, otherwise returns false
.public java.util.Collection<java.lang.Thread> getQueuedThreads()
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.