有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

多线程Java线程无法启动

当我尝试启动线程(u)时,它什么也不做! 这就是我在课堂上学到的:

private Updater uc;
Thread t1 = new Thread(uc);
-bunch of other code-
t1.start();

更新程序。爪哇:

public class Updater implements Runnable{
public void run(){
  System.out.println("I work!");
  }
}

输出什么都不是。有人知道为什么吗


共 (1) 个答案

  1. # 1 楼答案

    除非我错过了什么——你永远不会忘记:

    uc = new Updater();
    

    当您将null作为Runnable传入时,线程只是将null值传递给一个内部init方法,该方法从所有线程构造函数(包括不带Runnable参数的构造函数)调用

    如果目标Runnable为null,则Thread run()只执行exit操作。多亏了乔恩