Class SyncInstructionManager

java.lang.Object
uni.robot.base.SyncInstructionManager

public class SyncInstructionManager extends Object
Objeto que es capaz de sincronizar el paso de mensajes de hilos, uno o mas productores y un consumidor. Cuando un hilo productor manda un mensaje a traves de este objeto, el mensaje es agregado a una fila y el hilo es pausado, hasta que el hilo consumidor procese y mande una respuesta.
  • Constructor Details

    • SyncInstructionManager

      public SyncInstructionManager()
  • Method Details

    • sendInstruction

      public Object sendInstruction(Object message)
      Metodo escluivo para el hilo productor. Pone un mensaje en la fila y bloquea hasta que un hilo consumidor mande una respuesta.

      El mensaje no puede ser null.

      Parameters:
      message - El mensaje a mandar
      Returns:
      La respuesta del hilo consumidor
    • readInstruction

      public Object readInstruction()
      Metodo exclusivo para el hilo consumidor. Lee el primer mensaje de la fila,
      Returns:
      El primer mensaje de la fila,
    • finishInstruction

      public void finishInstruction(Object message)
      Marca como teminado y remueve el primer mensaje de la fila, desbloqueando el hilo consumidor y mandando una respuesta.
      Parameters:
      message - la respuesta a mandar
    • finishInstruction

      public void finishInstruction()
      Marca como teminado y remueve el primer mensaje de la fila, desbloqueando el hilo consumidor y mandando una respuesta.