Por que não iniciar um thread no construtor? Como terminar?
Estou aprendendo a usar threads em Java. E eu escrevi uma classe que implementa Runnable para executar simultaneamente em outro thread. O thread principal lida com a escuta da porta serial, enquanto o segundo thread lida com o envio de dados para a mesma port
public class MyNewThread implements Runnable {
Thread t;
MyNewThread() {
t = new Thread (this, "Data Thread");
t.start();
}
public void run() {
// New Thread code here
}
A primeira thread inicia a segunda assim:
public class Main {
public static void main(String[] args) throws Exception{
new MyNewThread();
// First thread code there
}
}
Isso funciona, mas meu complier sinaliza um aviso dizendo: É perigoso iniciar um novo thread no construtor. Por que é isso
A segunda parte desta pergunta é: como se eu tiver um loop em execução em um thread (o thread de escuta da porta serial) e digitar um comando de saída no meu segundo thread. Como faço para terminar o primeiro thread? Obrigado