你能帮助我理解为什么我的线程没有出现在调试器中。 好吧,正如您可以从main方法中的注释中看到的,我可以运行Task实例的perform()方法。但是当我尝试创建一个帖子时,它并没有开始。任何断点都不会显示Thrd的run()方法被调用。
public class ParallelThreads {
public static void main(String[] args) {
Task t = new Task("C:\\FilesToRead\\1.txt");
//System.out.println(t.perform()); // It works!
Thread thread = new Thread(t);
}
}
public class Thrd implements Runnable{
TaskWithResult task;
public Thrd(TaskWithResult task){
this.task = task;
}
@Override
public void run(){
task.perform();
}
}
public interface TaskWithResult {
long perform();
}
public class Task implements TaskWithResult, Runnable {
File fileToRead;
public Task(String file) {
fileToRead = new File(file);
}
long count = 0;
@Override
public void run(){
perform();
}
@Override
public long perform() {
...
return count;
}
}
答案 0 :(得分:6)
您刚刚创建了Thread
的实例,您需要通过
thread.start();