Package javax.jmdns.impl
Class DNSStatefulObject.DNSStatefulObjectSemaphore
- java.lang.Object
-
- javax.jmdns.impl.DNSStatefulObject.DNSStatefulObjectSemaphore
-
- Enclosing interface:
- DNSStatefulObject
public static final class DNSStatefulObject.DNSStatefulObjectSemaphore extends java.lang.Object
This class define a semaphore. On this multiple threads can wait the arrival of one event. Thread wait for a maximum defined by the timeout.Implementation note: this class is based on
Semaphore
so that they can be released by the timeout timer.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
_name
private java.util.concurrent.ConcurrentMap<java.lang.Thread,java.util.concurrent.Semaphore>
_semaphores
private static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description DNSStatefulObjectSemaphore(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
signalEvent()
Signals the semaphore when the event arrives.java.lang.String
toString()
void
waitForEvent(long timeout)
Blocks the current thread until the event arrives or the timeout expires.
-
-
-
Method Detail
-
waitForEvent
public void waitForEvent(long timeout)
Blocks the current thread until the event arrives or the timeout expires.- Parameters:
timeout
- wait period for the event
-
signalEvent
public void signalEvent()
Signals the semaphore when the event arrives.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-