Class Rendezvous


  • public class Rendezvous
    extends Object
    class used to manage rule rendezvous operations
    • Constructor Detail

      • Rendezvous

        public Rendezvous​(int expected)
      • Rendezvous

        public Rendezvous​(int expected,
                          boolean rejoinable)
    • 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