【发布时间】:2015-07-05 11:02:16
【问题描述】:
是否有另一种方法可以在创建对象时(调用构造函数时)启动线程。我知道你不能在构造函数中启动线程。但是,如果我在实现 Runnable 的类(类称为 Tasks)中有两个方法:run()、continuousRecv()。 run() 方法调用 ContinuousRecv() 函数。 ContinuousRecv() 做了一些事情。然后我在公共类 Tasks 中创建一个名为 startContRecv() 的私有类,并在构造函数调用中启动线程,就像这样
Thread t1 = new Thread(new Tasks());
t1.start();
我的代码:
import java.lang.Runnable;
public class Tasks implements Runnable {
public Tasks() {
startContinousReceive conRecv = new startContinousReceive();
}
public void continuiousReceive() {
while (true) {
//Code to executed
}
}
public void run() {
continuiousReceive();
}
//PRIVATE CLASS WHICH STARTS THREAD
//INSTANCE OF PRIVATE CLASS IS MADE IN CONSTRUCTOR OF TASKS CLASS
private class startContinousReceive {
public startContinousReceive() {
Thread t1 = new Thread(new Tasks());
t1.start();
}
}
}
【问题讨论】:
标签: java multithreading