我是线程的新手,正在经历一些匿名线程示例
在我的下面的程序中,我正在创建一个runnable并将其传递给一个匿名线程。但是当我启动线程时,它不会执行我正在传递的runnable的run()方法。请纠正我,因为我错了。
public class Anonymous {
public static void main(String[] args) {
// TODO Auto-generated method stub
Runnable task = new Runnable(){
public void run() {
System.out.println("Thread started");
};
};
Anonymous1 ab = new Anonymous1();
ab.setRunnableandStart(task); // passing runnable to other class
}
}
public class Anonymous1 {
private Runnable runnable = null;
private Thread exeThread = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public void setRunnableandStart(Runnable runnable)
{
this.runnable = runnable; // setting the runnable
exeThread = startExecution();
System.out.println("Returned");
}
private Thread startExecution()
{
Thread ret = new Thread(runnable){
};
ret.start(); // starting the thread
return ret;
}
}
答案 0 :(得分:0)
我认为你想要的是
private Thread startExecution()
{
Thread ret = new Thread(runnable);
ret.start(); // starting the thread
return ret;
}
答案 1 :(得分:0)
更改
Thread ret = new Thread(runnable){
};
到
Thread ret = new Thread(runnable);
答案 2 :(得分:0)
添加一些System.out.println (..)
以查看正在执行的代码。因为我不清楚哪个main
方法是你的实际入口点(你有两个)...而且其中一个没有做任何事情。