Class Rendezvous
- java.lang.Object
-
- org.jboss.byteman.synchronization.Rendezvous
-
public class Rendezvous extends Object
class used to manage rule rendezvous operations
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Rendezvous.Counter
class encapsulating state for a specific rendezvous
-
Constructor Summary
Constructors Constructor Description Rendezvous(int expected)
Rendezvous(int expected, boolean rejoinable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
delete()
delete this rendezvous causing any waiting threads to return -1 form the rendezvous call.int
getArrived()
retrieve the number of threads waiting at the rendezvous or -1 if the rendezvous has been deletedint
getExpected()
boolean
needsRemove()
check if the rendezvous has completed but has not yet been removedint
rendezvous(long millis)
enter this rendezvous.void
setRemoved()
mark a completed rendezvous to indicate that it has been removed
-
-
-
Method Detail
-
rendezvous
public int rendezvous(long millis)
enter this rendezvous. n.b. this must be called synchronized on the rendezvous object in question- Parameters:
millis
- how long to wait (wait forever if 0)- Returns:
- the index in arrival order from 0 to expected of the calling thread or -1 if either the rendezvous has completed and is not restartable or the rendezvous has been deleted
-
delete
public boolean delete()
delete this rendezvous causing any waiting threads to return -1 form the rendezvous call. n.b. this must be called synchronized on the rendezvous object in question- Returns:
- false if a delete has already been requested otherwise true
-
getExpected
public int getExpected()
-
getArrived
public int getArrived()
retrieve the number of threads waiting at the rendezvous or -1 if the rendezvous has been deleted- Returns:
- number of threads waiting or -1
-
needsRemove
public boolean needsRemove()
check if the rendezvous has completed but has not yet been removed- Returns:
- the above
-
setRemoved
public void setRemoved()
mark a completed rendezvous to indicate that it has been removed
-
-