package br.uff.ic.gems.peixeespadacliente.thread;
import br.uff.ic.gems.peixeespadacliente.model.agent.LocalManagerAgent;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Heliomar
*/
public class ThreadScheduling extends Thread {
// 5 seconds
public static int SLEEP_TIME = 5000;
private LocalManagerAgent agentPeixeEspada;
private long deadLine;
public ThreadScheduling(LocalManagerAgent agent) {
this.agentPeixeEspada = agent;
this.deadLine = agent.getInitDate().getTime() - System.currentTimeMillis();
}
@Override
public void run() {
while (deadLine > 0) {
try {
sleep(SLEEP_TIME);
deadLine -= SLEEP_TIME;
} catch (InterruptedException ex) {
Logger.getLogger(ThreadScheduling.class.getName()).log(Level.SEVERE, null, ex);
ex.printStackTrace();
}
}
Thread threadSupervisioned = new Thread(agentPeixeEspada);
threadSupervisioned.start();
deadLine = agentPeixeEspada.getEndDate().getTime()-agentPeixeEspada.getInitDate().getTime();
ThreadDeadLine td = new ThreadDeadLine(threadSupervisioned, deadLine, agentPeixeEspada);
td.start();
}
}