3 回答

TA貢獻1818條經驗 獲得超7個贊
Thread(Runnable target)
Thread(String name)
以上是api中的兩個thread的一個參數的構造方法,均是為了分配一個新的線程。
兩個構造函數一個傳入的是runnable對象,一個是string這個線程的名字。
縱觀你的java類,new TimePrinter(1000, "Fast Guy")即為創建了一個你當前類的對象,而你當前類實現了Runnable 接口,即你新建一個當前類的對象即為runnable對象,如此我們可以很清晰的看到new Thread(new TimePrinter(1000, "Fast Guy")),向Thread t1中傳遞的為一個runnable對象,即為這個t1的線程中綁定了你當前類的一個run方法在其中。
而接下來,t1.start();即為啟動當前類的run方法,傳遞進去的1000即為線程Thread.sleep(pauseTime); 的睡眠時間。
整觀整個java類的作用即是打印輸出你傳入的name名字加當前時間,線程睡眠一秒鐘之后。不停的循環打印你當前的名字和時間。
PS:多看api,多動腦筋想問題,多寫代碼,總有一天你也會成長為一個高手。

TA貢獻1812條經驗 獲得超5個贊
Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy"))
分步解釋:
TimePrinter是一個繼承了thread類的一個子類,里面有兩個參數,一個是時間間隔1000,另外一個是打印的字符串,也就是每個1秒打印一個Fast Guy。
把new TimePrinter(1000, "Fast Guy")傳入一個thread中,意思是起一個線程來調用這個一步執行,t1 .start便可以啟動打印任務。

TA貢獻1802條經驗 獲得超6個贊
就是用TimePrinter對象去初始化一個線程對象啊、
Thread(Runnable target) 是JDK手冊中thread的一個參數的構造方法,為了分配一個新的線程??v觀你的java類,new TimePrinter(1000, "Fast Guy")即為創建了一個你當前類的對象,而你當前類實現了Runnable 接口,即你新建一個當前類的對象即為runnable對象,如此我們可以很清晰的看到new Thread(new TimePrinter(1000, "Fast Guy")),向Thread t1中傳遞的為一個runnable對象,即為這個t1的線程中綁定了你當前類的一個run方法在其中。
而接下來,t1.start();即為啟動當前類的run方法,傳遞進去的1000即為線程Thread.sleep(pauseTime); 的睡眠時間。
整觀整個java類的作用即是打印輸出你傳入的name名字加當前時間,線程睡眠一秒鐘之后。不停的循環打印你當前的名字和時間。
添加回答
舉報