se alguem poder me ajudar eu agradeço muito.
esta dando um erro, e já tentei mudar nome da variavel, tirar o modificador de acesso e nada adiantou…
[code]public class minithread extends Thread {
public minithread(String name){
super(name);
}
private int sleepTime=0;//o erro esta ocorrendo nessa linha
tempo=(int)(Math.random()*5000);
public void run(){
try{
System.err.println(getName() + "going to sleep");
Thread.sleep(sleepTime );
}
catch ( InterruptedException exception ) {
System.err.println( exception.toString() );
}
System.err.println( getName() + " done sleeping" );
}
}[/code]
a classe do main é essa
[code]public class ExercicioCasa {
public static void main(String[] args) {
Thread thread1= new Thread(“1”);
Thread thread2= new Thread(“2”);
Thread thread3= new Thread(“3”);
Thread thread4= new Thread(“4”);
thread1.start();
thread2.start();
thread3.start();
thread4.start();
System.err.println(“estudo de THREADs”);
}
[/code]
Olá amigo,
Eu fiz algumas alterações no seu código, vamos lá:
1 - Você não declarou a variável tempo, portanto, eu adicionei a variável sleepTime para receber o resultado da instrução que gera o numero aleatório.
2 - Eu adicionei o sleepTime=(int)(Math.random()*5000);
ao método run, jah que a cada thread iniciada, um numero aleatório será gerado.
3 - No método main você poderia iniciar a sua thread que está contida na sua classe, portanto, ficará dessa forma: Thread thread1= new Minithread ("1");
Segue o código completo:
[code]public class Minithread extends Thread {
private int sleepTime=0;
public Minithread(String name){
super(name);
}
public void run(){
sleepTime=(int)(Math.random()*5000);
try{
System.err.println(getName() + "going to sleep");
Thread.sleep(sleepTime );
}
catch ( InterruptedException exception ) {
System.err.println( exception.toString() );
}
System.err.println( getName() + " done sleeping" );
}
public static void main(String[] args) {
Thread thread1= new Minithread ("1");
Thread thread2= new Minithread ("2");
Thread thread3= new Minithread ("3");
Thread thread4= new Minithread ("4");
thread1.start();
thread2.start();
thread3.start();
thread4.start();
System.err.println("estudo de THREADs");
}
} [/code]
Seria melhor voce postar a fonte da qual do tirou esse exemplo, caso não voce não a tenha implementado sozinho.
Eh uma boah prática voce começar os nomes das suas classes com letras maiusculas.
Qualquer coisa, avisa!
[]'s
Outra coisa. Dizer que está “dando um erro” não nos dá informação alguma. Seria melhor dizer qual erro está dando.
Não espere que o pessoal vá copiar seu código, compilar, corrigir, etc.
Alguns até podem fazer isso, mas você reduz muito as chances de ter um tópico respondido se contar com tanta boa vontade.
Muito obrigado pelo esclarecimento sou novato aqui estou em fase aprendizado
vou usar as boas praticas
Por favor, edita o assunto do seu primeiro post, e acrescenta a tag [RESOLVIDO], se o foi! =)
Bons estudos!
[]'s