我不敢相信這給我帶來麻煩。 我的測試extend Thread
不起作用,我的implement Runnable
。我和過去寫過的工作線程代碼相比,看不出有什麼問題。Java擴展線程不工作,但實現了Runnable。我不明白爲什麼?
有人能指出我的菜鳥錯誤嗎?
不工作
public class PrimeThread extends Thread
{
long minPrime;
public PrimeThread(long minPrime)
{
this.minPrime = minPrime;
}
public static void main(String[] args)
{
PrimeThread p = new PrimeThread(11);
p.start();
}
public void Run()
{
System.out.println("wtf");
}
}
工作
public class PrimeRun implements Runnable
{
long minPrime;
public PrimeRun(long in)
{
minPrime=in;
}
public static void main(String[] args)
{
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
}
@Override
public void run()
{
System.out.println("hello");
}
}
什麼是不工作?例外?只是沒有運行等 – 2013-03-09 15:19:04
哦不。我剛剛發現了這個問題。 Run()方法應該有小寫字母r ... run() :(太令人尷尬了。過去8天,圖書館每天超過11個小時正在趕上我。 – 2013-03-09 15:24:14
這就是@Override註釋是什麼因爲它會告訴你這種錯誤::-)有一個很好的原因來擴展線程是非常罕見的,它很容易搞砸,所以總的來說最好遠離它。 – 2013-03-09 15:29:25