在java中實現Runnable接口後,怎麼可能調用線程方法?在java中實現Runnable接口後,怎麼可能調用線程方法?
0
A
回答
2
我認爲你需要閱讀基本主題。退房this page,具體看標題爲「創建和啓動線程」
0
在任何時候下的示例,從任何地方,你可以調用Thread.currentThread()
才能到當前正在運行的線程的引用,沒有什麼幫助。如果您需要覆蓋Thread
類中的方法,則需要繼承此方法而不是執行Runnable
,但通常不會有這麼做的好理由。
1
您是否將Runnable
實現傳遞給Thread
構造函數?
這是創建和啓動一個線程是推薦的方式:
class MyRunnable implements Runnable {
public void run() {
System.out.println("Hello, World!");
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}
這是類似你是如何嘗試呢?
與Java線程一些常見的問題:
- 調用
thread.run()
代替thread.start()
- 通過一個實例調用靜態方法,例如
thread.sleep(1000)
使當前線程睡眠,而不是目標線程。
1
我假設你有這個問題,因爲當Runnable接口實現時提供的是方法run()
的實現。 而我們並沒有明確調用run
方法來啓動線程。
public class HelloRunnable implements Runnable {
public void run() {
System.out.println("Hello from a thread!");
}
public static void main(String args[]) {
(new Thread(new HelloRunnable())).start();
}
}
如果你看的javadoc的方法「開始()`Thread類 的:
在下面的〔實施例(從Java tutorial)線程通過調用start()
方法啓動Java API的,這就是它說:
開始 公共無效的start()
導致此線程開始執行; Java虛擬機調用此線程的運行方法。 結果是兩個線程同時運行:當前線程(從調用返回到start方法)和另一個線程(它執行其運行方法)。
0
它是通過使用Thread類構造函數而成爲可能的。其他方式根本不可能。
class ImplementsRunnable implements Runnable {
public void run() {
System.out.println("ImplementsRunnable");
}
}
public class DemoRunnable {
public static void main(String args[]) throws Exception {
ImplementsRunnable rc = new ImplementsRunnable();
Thread t1 = new Thread(rc);
t1.start();
/*here with the help of Constructor of Thread Class we call start method which is not in ImplementsRunnable*/
}
}
相關問題
- 1. 轉換線程/ Runnable接口的實現從Java到科特林
- 2. 在Scala中實現Java接口方法
- 3. Java多線程:如何使用Runnable接口創建線程?
- 4. 在Java中了Runnable和可調用接口之間的差異
- 5. 調用接口實現的類方法
- 6. 無法在Thread類擴展到同步兩個線程,但實現Runnable接口
- 7. 實現類中的Runnable接口
- 8. 爲什麼java接口不能包含靜態方法實現?
- 9. 爲什麼我不能在明確實現接口的類中調用方法?
- 10. java - 爲線程實現接口
- 11. 儘管Java中的Serializable接口沒有方法,沒有字段,但它可以實現其功能。怎麼樣?
- 12. Java在派生類中實現接口方法的方法
- 13. 靜態方法不能實現接口方法,爲什麼?
- 14. 的Java:如何調用從接口名稱實現的方法
- 15. 創建通過實現Runnable接口
- 16. 實現接口在Java中
- 17. 在java中實現接口
- 18. 如何訪問在Java中實現Runnable的對象的方法?
- 19. 在java中實現通用接口方法
- 20. 從java中的Runnable線程調用主線程
- 21. 在Applet程序中使用Runnable接口?
- 22. C++ 11已實現的接口方法不可用。爲什麼?
- 23. 爲什麼實現接口的抽象類可能會錯過接口方法之一的聲明/實現?
- 24. 爲什麼可以調用Java的接口方法的方法? [可比]
- 25. SurfaceView實現Runnable - 線程沒有啓動
- 26. 實現Runnable與擴展線程
- 27. 無法在類中實現方法聲明實現通用接口方法
- 28. 接口方法的實現
- 29. 如何在Scala中使用可變參數方法實現Java接口?
- 30. 在Java中實現通用接口
@spkothale:請編輯你的問題,並提供更多關於你想做什麼的信息。 – 2010-02-08 10:57:24
對我沒有任何意義:) – 2010-02-08 10:59:24
@Suraj:你知道,這是我在這裏的五個月裏見過的第一個罵人詞。 – 2010-02-08 11:00:57