2010-06-24 44 views
-1

假設我的程序中有一個簡單的函數。每當我調用該函數時,都會產生一個新線程或進程以執行該函數,或者僅在主線程內存空間中執行該函數。請幫助...任何指針將不勝感激。做一個java函數調用產生新的線程執行?

由於提前, Rupesh

+0

我有一種感覺,你現在正試圖通過一個程序員的測試,而你顯然不是。 – 2010-06-24 10:40:16

+0

是的,我是編程的新手,並且在腦海中對函數調用執行的概念有困惑。 – Rise 2010-06-24 10:44:23

+2

對不起...... Java沒有任何指針:-) :-)。 – 2010-06-24 11:47:58

回答

4

當你調用Java中的方法將作爲執行調用它的代碼的同一個線程中運行。除非你明確地在方法體內創建一個新的線程。

+0

downvote的任何解釋?國際海事組織 - 不好的建議 - – DaveJohnston 2010-07-01 09:11:52

-3

調用的函數在同一個線程中執行。

建議:您應該從C開始學習編程,然後Java(或其他任何東西)的底層功能不會讓您感到困惑。

+3

-1 – 2010-06-24 11:46:58

+0

壞評論,國際海事組織。 – 2010-06-26 15:03:08

0

當你調用一個方法時,處理就進入該方法。幾乎所有的語言都是這個通用規則。

0

正如戴夫約翰斯頓所說,不 - 除非你明確地創建一個新的線程。

當然,如果您調用的方法創建新線程作爲其工作方式的一部分,您可以獲得新線程。

線程和進程之間有區別。線程是Java的多任務解決方案(也是一個很好的解決方案)。一個進程是一個操作系統的東西。根據您的JVM,新線程可能會或可能不會在新進程中運行。

無論哪種方式,JVM中的所有線程都訪問相同的內存空間。稍微偏執一點:JVM內存中有一些與CPU級內存緩存有關的同步問題 - 如果您正在進行嚴重的多線程編碼,請參閱關於volatile關鍵字的文檔。

您可以使用單獨的內存運行多個JVM,例如,如果你從命令行運行單獨的命令。

相關問題