Я учусь использовать потоки в Java. И я написал класс, который реализует Runnable для одновременного запуска с другим потоком. Основной поток обрабатывает прослушивание последовательного порта, тогда как второй поток будет обрабатывать отправку данных на тот же порт.
public class MyNewThread implements Runnable {
Thread t;
MyNewThread() {
t = new Thread (this, "Data Thread");
t.start();
}
public void run() {
// New Thread code here
}
Первый поток запускает второй следующим образом:
public class Main {
public static void main(String[] args) throws Exception{
new MyNewThread();
// First thread code there
}
}
Это работает, но мой компилятор отмечает предупреждение: Это опасно начинать новый поток в конструкторе. Почему?
Вторая часть этого вопроса: как, если у меня есть цикл, работающий в одном потоке (поток прослушивания последовательного порта), и я набираю команду выхода во втором потоке. Как мне завершить первый поток? Спасибо.