我正在學習Java中的多線程概念,在這裏我遇到了這個非常有趣的行爲。我正在嘗試各種創建線程的方式。現在的問題是我們延長Thread
,而不是實現Runnable
接口。Java中有趣的線程行爲
在附註中,我知道它實現了Runnable
接口的完美OO感,而不是擴展Thread
類,但對於此問題的目的,假設我們擴展了Thread
類。
讓t
是我的我的擴展Thread
類的實例,我有一個代碼塊中是我的我的Thread
類的run()
方法中寫後臺執行。
它與t.start()
在後臺完美運行,但我有點好奇,並調用t.run()
方法。這段代碼在主線程中執行!
t.start()
這樣做t.run()
不是嗎?
我相信你可以在這裏找到答案(這威力實際上打破你的面向對象的設計。): HTTP: //stackoverflow.com/questions/8579657/java-whats-the-difference-between-thread-start-and-runnable-run http://stackoverflow.com/questions/15841301/difference-between-running-and -starting-a-thread – 2014-08-29 09:49:37
http:// stackoverflow。com/a/13134221/3436942告訴你簡單易懂的語言的區別。很多** t.start(); **正在創建/創建一個新線程,而** t.run(); **只是在主線程上調用它 – jbutler483 2014-08-29 09:51:02