为什么不在构造函数中启动一个线程?如何终止?
我正在学习如何在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 } }
这有效,但我的编译器标记了一个警告说:在构造函数中启动一个新线程是危险的。为什么是这样?
这个问题的第二部分是:如果我在一个线程中运行一个循环(串口侦听线程),我在第二个线程中输入一个exit命令。如何获得第一个终止线程?谢谢。
不负相思意
杨__羊羊
慕雪6442864
相关分类