Documentation of 'edu.rit.pj.BarrierAction' Java class
BarrierAction
edu.rit.pj

Class BarrierAction



  • public abstract class BarrierAction
    extends ParallelConstruct
    Class BarrierAction is the abstract base class for an object containing code that is executed as part of a barrier wait. A barrier wait occurs in these situations within a ParallelRegion: As each thread finishes executing one of the above constructs, each thread encounters a barrier. What happens next depends on the barrier action specified for that construct. There are three possibilities:
    • If the barrier action is omitted, or if the barrier action is BarrierAction.WAIT, each thread stops and waits at the barrier. When all threads have arrived at the barrier, each thread resumes and proceeds to execute whatever comes after the construct.

    • If the barrier action is BarrierAction.NO_WAIT, nothing happens. The threads do not wait for each other. Each thread immediately proceeds to execute whatever comes after the construct.

    • If the barrier action is an instance of class BarrierAction with the run() method overridden, each thread stops and waits at the barrier. When all threads have arrived at the barrier, one thread calls the BarrierAction object's run() method. The particular thread that calls the run() method is not specified. During this time the other threads remain stopped. When the run() method returns, each thread resumes and proceeds to execute whatever comes after the construct.

    Thus, the barrier serves to synchronize all the threads at the end of a parallel construct and possibly to execute a section of code in a single thread.

    • Field Detail

      • WAIT

        public static final BarrierAction WAIT
        Do a barrier wait, without executing any code in a single thread.
      • NO_WAIT

        public static final BarrierAction NO_WAIT
        Do not do a barrier wait.
    • Constructor Detail

      • BarrierAction

        public BarrierAction()
        Construct a new barrier action.
    • Method Detail

      • run

        public abstract void run()
                          throws java.lang.Exception
        Execute this barrier action. The run() method is called by a single thread after all threads have arrived at the barrier.

        The run() method must be implemented in a subclass.

        Throws:
        java.lang.Exception - The run() method may throw any exception.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.