最新回答 / Coda
有些時候是等效的,有些時候不可以的。使用Thread.currentThread().getName()和使用this.getName()都可以得到線程的名稱,但是使用this調用getName()方法只能在本類中,而不能在其他類中,更不能在Runnable接口中,所以只能使用Thread.currentThread().getName()獲取線程的名稱,否則會出現編譯時異常。這種題一般多測試幾種不同的情況可以得出的。
2015-03-13
講師回答 / Arthur
你得結果也是正常的。簡單說只有Running的線程擁有CPU,CPU時間片用完就釋放。這就是為什么還沒調用sleep(),另一個線程就執行了。要把整個問題說清楚需要了解Java線程的狀態及遷移的知識。你可以參考慕課上的《細說Java多線程》
2015-02-21
講師回答 / Arthur
用了volatile,你在這里寫入keepRunning的值,run里面的while才能結束。不用volatile,run里面的while很有可能停不下來。具體你可以去Wiki看看。
2015-02-21
已采納回答 / Arthur
我記得沒錯的話是Ctrl + C,?Ctrl + V... ?我從其他的代碼庫里考過來講課的:)for是有快捷鍵的,但我不怎么用,因為出來的東西還得自己改,索性就不用了。想要知道的話,建議自己選那個Google, eclipse shortcut for loop.
2015-02-08
講師回答 / Arthur
run()其實是Runnable的成員函數,自己并不是Thread。你如果習慣用this,說明你總是在繼承Thread類。如果你通過Runnable的方式初始化一個線程,你自然就不會用this鳥。
2015-01-15