我想知道如果Java主要方法是一個線程或不。我注意到,如果主方法返回,所有線程都被終止。你能解釋我爲什麼發生這種情況嗎? 預先感謝您。是java的主要方法一個線程?
3
A
回答
1
當您啓動您的應用程序時,操作系統爲您創建一個主線程(或其他上下文中的UI線程)的線程。
此線程只運行您的main
方法並停止。 無論如何,有兩種類型的線程。
- 用戶線程
- 守護線程
的main thread
是User thread
。 當所有用戶線程完成時,JVM將停止。
嗯,這只是一個「快速反應」我很漂亮使用你可以找到更好的專家在這裏回答。
+0
不,你的回答非常好,尤其是當你指出程序不僅僅因爲主線程結束而結束時,而且僅在非守護線程的_all_結束時。 –
3
其實主要方法在主線程上運行! main threads invokes your main()
Java應用程序的所有其他線程都是從這個線程產生的!
0
是的,main方法在主線程上運行。但它仍然像其他任何用戶線程一樣。
還有守護程序線程,當所有其他用戶線程停止運行時,它們都會停止。
主線程還負責產生程序員在其程序中創建的其他線程,從而產生其他線程等。
而不是當主要方法返回所有線程時被殺死。一個原因可能是因爲main是一個無效方法,並且它不能返回任何東西。 :D
但是,如果您產生一個或多個長時間運行的用戶線程,並且您的main
方法中不使用join()
方法,那麼即使主方法結束,其他線程仍然存在運行,如果他們的run()
方法沒有停止執行。
相關問題
- 1. 爲java主要方法執行創建了多少個線程?
- 2. 主要方法第5優先級,它是java中主要方法具有更高優先級的線程
- 3. 沒有主要方法的Java程序
- 4. 讓一個主要方法等待更小的方法(java)
- 5. 爲什麼線程超過Java中的主要方法?
- 6. Java中,線程主要LWJGL
- 7. 呼叫從一個類的主要方法,另一個類的主要方法
- 8. java包中的多個主要方法
- 9. 麻煩Java方法結合在一個主要方法
- 10. 用java主要方法
- 11. JAVA類和主要方法
- 12. Java-主要方法在
- 13. Java 8 Stream主要方法
- 14. 一般是什麼放在主要方法,什麼不是? - java
- 15. 中斷內的另一個線程的run方法,一個線程在Java中
- 16. 這主要是除一線
- 17. Java的:異常在線程 「主要」 java.lang.NoClassDefFoundError
- 18. 在dispatch_sync之前需要檢查一個線程是否是主線程?
- 19. Java:一個接一個線程的調用方法
- 20. javap說有一個主要的方法,java說我瘋了
- 21. java:自動找到一個具有主要方法的類
- 22. 從哪一行開始執行Java程序?它是主要的方法嗎?
- 23. 在JAVA主要方法中String array的需要是什麼
- 24. 線程[主](暫停(進入在遊戲方法主要))
- 25. NSOperation - 主要方法在主線程上運行?
- 26. 是否需要類的主要方法?
- 27. Java線程的run方法
- 28. 主要方法是什麼?
- 29. 在主線程/程序終止時運行一個方法?
- 30. 你如何編寫一個啓動java程序的主要方法?
「如果主要方法返回,所有線程都被終止」......我沒有觀察到這種行爲。 – ajb