Java-线程不';开始
当我尝试启动线程(u)时,它什么也不做! 这是我在课堂上学到的:Java-线程不';开始,java,multithreading,Java,Multithreading,当我尝试启动线程(u)时,它什么也不做! 这是我在课堂上学到的: private Updater uc; Thread t1 = new Thread(uc); -bunch of other code- t1.start(); Updater.java: public class Updater implements Runnable{ public void run(){ System.out.println("I work!"); } } 输出什么都不是。有人知道为什么吗?除非
private Updater uc;
Thread t1 = new Thread(uc);
-bunch of other code-
t1.start();
Updater.java:
public class Updater implements Runnable{
public void run(){
System.out.println("I work!");
}
}
输出什么都不是。有人知道为什么吗?除非我遗漏了什么-你永远不会初始化uc:
uc = new Updater();
当您将null作为Runnable传入时,线程只将null值传递给内部init方法,该方法从所有线程构造函数(包括不带Runnable参数的构造函数)调用
在目标Runnable为null的情况下,Thread run()只执行exit操作。多亏了Jon。看起来您正在传递一个空Runnable。尝试:
private Updater uc = new Updater();
Thread t1 = new Thread(uc);
的确当您将
null
作为Runnable
传入时,Thread
只将null
值传递给一个内部init
方法,该方法从所有Thread
构造函数调用,包括不带Runnable
参数的构造函数。在目标Runnable
为null
的情况下,线程run()
只执行退出操作。