コード例 #1
0
ファイル: MicroNucleo.java プロジェクト: ADN666/TSOA
 /**
  * Edited: Simental Magaña Marcos Eleno Joaquín
  *
  * <p>Para práctica 2 Se modifica el funcionamiento de receiveVerdadero, se registra id del
  * proceso convocante y arreglo de bytes donde se almacenan datos
  *
  * <p>Para práctica 5 Se añade tratamiento con buzones
  */
 protected void receiveVerdadero(int addr, byte[] message) {
   Buzon miBuzon;
   byte[] msgPtr;
   miBuzon = dameMiBuzon(dameIdProceso());
   if (miBuzon == null) { // es un cliente
     tablaRecepcion.put(new Integer(addr), message);
     suspenderProceso();
   } else { // es un servidor
     if (miBuzon.isEmpty()) {
       tablaRecepcion.put(new Integer(addr), message);
       suspenderProceso();
     } else {
       msgPtr = miBuzon.getNextMessage();
       System.arraycopy(msgPtr, 0, message, 0, msgPtr.length);
     }
   }
 }
コード例 #2
0
  public static void main(String[] args) {
    Buzon obx = new Buzon();
    int res;

    obx.cargarArray();
    do {

      res =
          Integer.parseInt(
              JOptionPane.showInputDialog(
                  "Seleccione unh opcion:\n1.Visualizar numero de correos non leidos.\n2.Visualizar se hai mensaxes sen leer.\n"
                      + "3.Amosar o primer mensaxe sen leer.\n4.Amosar o mensaxe 4.\n5.Eliminar o mensaxe 2.\n6.Visualizar todo.\n6.Añadir un correo: Hola.\n7.Visualizar todo.\n8.Finalizar o programa"));

      switch (res) {
        case 1:
          System.out.println(obx.numeroDeCorreos());
          break;
        case 2:
          {
            if (obx.porLer() == true) System.out.println("Todos os mensaxes estan leidos");
            else System.out.println("Hay mensaxes sen leer");
          }
          break;
        case 3:
          System.out.println(obx.amosaPrimerNoLeido());
          break;
        case 4:
          System.out.println(obx.amosa(3));
          break;
        case 5:
          obx.elimina(1);
          break;
        case 6:
          obx.engadorCorreo(new Correo("Hola", false));
          break;

        case 7:
          obx.visualizarTodo();
          break;
      }
    } while (res != 8);
    System.exit(0);
  }