1
A
回答
10
它會運行在當前線程。你會這樣不會啓動新線程。
但是,在你的例子中,這並不重要,因爲你給了新的線程沒有代碼來運行。
3
運行main()
代碼的線程是當前線程。創建一個Thread
對象並調用其方法之一(start()
除外)就像調用類Integer
或String
的方法 - 它不會創建新的實際線程。
在您的代碼示例中,只有當run()
方法完成運行時,主方法的執行纔會繼續。這意味着如果run()
方法有一個無限循環(假設它正在等待傳入請求),那麼即使在調用run()
之後有更多的代碼行,main()
方法也不會繼續運行。
調用aThread.start()
創建一個新的實際螺紋(由對象aThread
表示),使得新的線程調用run()
方法,並返回原來的線程的執行,以在main()
下一行。這意味着新線程可以永久運行,但不會阻止main()
代碼創建更多線程或執行其他任務。
3
它會像你調用普通方法一樣運行。因此該方法將在調用該方法的同一個線程中運行。
0
如果您調用Thread類的start方法,start-method將在一段時間後返回,但在併發中將運行run-method的內容。如果您直接調用run-method,那麼將在方法完成後執行並返回給調用方 - 與每個常規方法調用一樣。
1
它會在當前線程中運行而不是在新線程所以如果你自己調用run方法,它是沒有意義的。因爲它不創建一個新的線程。
相關問題
- 1. 如果我們直接調用run方法會發生什麼?
- 2. 如果我從AsyncTask調用一個方法會發生什麼?
- 3. 如果我在Servlet中編寫自己的方法,會發生什麼?
- 4. 在run()方法中使用return時會發生什麼?
- 5. 如果我調用GlobalLock()然後調用GlobalUnlock()會發生什麼?
- 6. 爲什麼開始我的線程不會調用run()方法?
- 7. 如果我提前關閉連接,web方法調用會發生什麼?
- 8. 如果start()方法在它自己的body中調用,Thread程序中會發生什麼?
- 9. 如果我不執行部分方法會發生什麼?
- 10. 如果我重寫window.scrollTo方法會發生什麼?
- 11. 如果對象調整其自己的容器,會發生什麼情況?
- 12. 如果我用空的url調用jQuery.post()會發生什麼?
- 13. Java:openGL:JOGL:當我調用display()方法時,幕後會發生什麼?
- 14. 當我們調用ArrayList.add()方法時會發生什麼?
- 15. 爲什麼run方法不被調用?
- 16. 如果我不直接調用willMoveToParentViewController&didMoveToParentViewController,會發生什麼?
- 17. 如果我不調用transaction.close或transaction.rollback,會發生什麼情況?
- 18. 如果我調用WaitHandle.Dispose(),等待線程會發生什麼?
- 19. 如果我在main中調用fork(),會發生什麼?
- 20. 我調用MPI_Init()後會發生什麼?
- 21. 如果SessionScoped和無狀態方法調用混合,交易會發生什麼
- 22. 如果我錯過了Facebook的回調,會發生什麼?
- 23. 如果我致電退貨會發生什麼;來自Runnable?
- 24. 如果CImage :: Load方法失敗會發生什麼情況?
- 25. 如果你爲自己添加一個列表會發生什麼?
- 26. 如果你的服務器對自己做XHR會發生什麼?
- 27. 在DisplayObjectContainer上調用addChild或removeChild方法時會發生什麼?
- 28. Android - 調用WifiManager的startScan方法後會發生什麼
- 29. 在Java中調用某個方法後會發生什麼
- 30. 方法調用後原始局部變量會發生什麼?
什麼是當前線程在這裏? – Johanna 2009-08-12 05:31:33
執行main()方法的主線程。 – 2009-08-12 05:40:43