Threads

2 respostas
nannyss

preciso fazer um trabalho sobre o roundrobin…
eu consigo criar as threads e rodar elas por prioridade…soh q entra num looping infinito e nao consigo parar…resumindo…queria parar qdo a pessoa apertasse qualquer tecla…mas ja tentei com InputStream e nao funciona…
segue um pedaço do codigo

public class Scheduler extends Thread
{
private Fila fila;
private int tempoEspera;
private static final int TEMPO_ESPERA_PADRAO = 1000; // 1 second

public Scheduler(int quantum) {
tempoEspera = quantum;
fila= new Fila();
}

public Scheduler() {
tempoEspera = TEMPO_ESPERA_PADRAO;
fila = new Fila();
}

void addThread(Thread t) {
t.setPriority(2);

fila.addItem(t);
}

private void gerenciadorSleep() {
try {
Thread.sleep(tempoEspera);
} catch (InterruptedException e) { };
}


public void run() {
Thread current;

this.setPriority(6);

while (true) {
try {
current = (Thread)fila.getNext();

if ( (current != null) && (current.isAlive()) ) {
current.setPriority(4);

gerenciadorSleep();

Logger.outPutRelatorio("=*=*= Thread realocada =*=*=");

current.setPriority(2);
}

} catch (NullPointerException e3) { } ;
}
}
}


class TestThread extends Thread
{
private String name;

public TestThread(String id) {
name = id;
}

public void run() {

/*
* The thread does something
**/
while (true) {
for (int i = 0; i < 500000; i++);
Logger.outPut("I am thread " + name);
Logger.outPutRelatorio("I am thread " + name);
}
}
}

se alguem puder me ajudar :slight_smile:

2 Respostas

Luiz-SP

olha, confeso que não entendi seu código, a identação tá ruím, mas vai umas dicas gerais sobre threads, não extenda Thread, implemente Runnable e o mais importante, não se firme nas prioridades para garantir a execução de uma Thread, a prioridade NÃO garante que um segmento será executado primeiro que outro, desculpe eu se estiver chovendo no molhado…

nannyss

Luiz,
nao postei todo o código…e sim ta horrivel assim sem identar…é mt coisa…mas valeu pela dica…nao sabia essa da prioridade…nunca tinha mexido com threads na vida ate semana passada surgir esse trabalho pra aula…

Criado 13 de setembro de 2006
Ultima resposta 13 de set. de 2006
Respostas 2
Participantes 2