Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## avrora.sim
Class SimulatorThread

    java.lang.Object
      java.lang.Thread
          avrora.sim.SimulatorThread

All Implemented Interfaces:
  java.lang.Runnable

public class SimulatorThread
extends java.lang.Thread

The `SimulatorThread` class is a thread intended to run a `Simulator` in a multiple-node simulation. The mapping is one-to-one: each simulator is expected to be run in its own thread. Multiple simulators are then synchronized by being inserted into a group using the `GlobalClock` class.

Field Summary
`protected Simulation.Node` | `node`
`protected Synchronizer` | `synchronizer` The `synchronizer` field stores a reference to the synchronizer that this thread is a part of; this is needed so that when the thread finishes execution (either through a timeout or error, etc), it can be removed from the simulation and the rest of the simulation can continue.

Fields inherited from class java.lang.Thread
`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

Constructor Summary
`SimulatorThread(Simulation.Node n)` The constructor for the simulator thread accepts an instance of `Simulator` as a parameter and stores it internally.

Method Summary
`Simulation.Node` | `getNode()` The `getNode()` method gets a reference to the `Simulation.Node` that this simulator thread is simulating.
`Simulator` | `getSimulator()` The `getSimulator()` method gets the `Simulator` instance that this thread is bound to.
`void` | `run()` The `run()` method begins the simulation, calling the `start()` method of the `Simulator` instance associated with this thread.
`void` | `setSynchronizer(Synchronizer s)` The `setSynchronizer()` method sets the synchronizer for this thread.

Methods inherited from class java.lang.Thread
`activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### node

    protected final Simulation.Node node

### synchronizer

    protected Synchronizer synchronizer

  The `synchronizer` field stores a reference to the synchronizer that this thread is a part of; this is needed so that when the thread finishes execution (either through a timeout or error, etc), it can be removed from the simulation and the rest of the simulation can continue.

Constructor Detail

### SimulatorThread

    public SimulatorThread(Simulation.Node n)

  The constructor for the simulator thread accepts an instance of `Simulator` as a parameter and stores it internally.

Parameters:
  `n` - the node

Method Detail

### getNode

    public Simulation.Node getNode()

  The `getNode()` method gets a reference to the `Simulation.Node` that this simulator thread is simulating.

  Returns:
    a reference to the node which this thread is simulating

### getSimulator

    public Simulator getSimulator()

  The `getSimulator()` method gets the `Simulator` instance that this thread is bound to.

  Returns:
    the instance of `Simulator` this thread is intended to run.

### run

    public void run()

  The `run()` method begins the simulation, calling the `start()` method of the `Simulator` instance associated with this thread.

### setSynchronizer

    public void setSynchronizer(Synchronizer s)

  The `setSynchronizer()` method sets the synchronizer for this thread.

  Parameters:
    `s` - the synchronizer for this node

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD