簡體   English   中英

Java-線程無法啟動

[英]Java - thread doesn't start

當我嘗試啟動線程(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!");
  }
}

輸出什么都沒有。 有人知道為什么嗎?

除非我缺少任何東西,否則您永遠不會初始化uc:

uc = new Updater();

當您將null傳遞為Runnable時,Thread只是將null值傳遞給內部init方法,該方法會從所有Thread構造函數(包括不帶Runnable參數的構造函數)中調用。

如果目標Runnable為null,則線程run()只會執行退出操作。 感謝喬恩。

看起來您正在傳遞一個空的Runnable。 嘗試:

private Updater uc = new Updater();
Thread t1 = new Thread(uc);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM