Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Parallel Programming WS 2014/2015 - File LicenseClient.java

import java.util.Random;

public class LicenseClient extends Thread {
   private Channel clientReply;
   private Channel reqserverChan;
   private Channel relserverChan;
   private String id;
   private boolean running = true;

   public LicenseClient(Channel req, Channel rel, String name) {
      reqserverChan = req;
      relserverChan = rel;
      clientReply = new Channel();
      id = name;
   }

   public void stopIt() {
      running = false;
   }

   private void sleep() {
         try {
               Thread.sleep((int) (Math.random() * 1000) + 1);
         }
         catch (InterruptedException e) {}
   }

   public void run() { // create 2 reusable message instances:
      Message reqMsg = new Message(LicenseServer.REQUEST, id, clientReply);
      Message relMsg = new Message(LicenseServer.RELEASE, id,  clientReply);

      while (running) {
            sleep();
            reqserverChan.send(reqMsg);
            clientReply.receive();
            sleep();
            relserverChan.send(relMsg);
            clientReply.receive();
            sleep();
      }
   }
}

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 26.01.2015