2011-11-27 75 views

回答

3

每個線程同步運行代碼。一旦線程完成了當前的工作分配,線程只會得到更多的工作。至於爲什麼一次只能有一個「活動」方法,一個方法可以調用其他方法或返回。一旦方法返回,它顯然不再處於活動狀態,類似地,一旦方法調用另一個方法,被調用的方法就變爲活動方法。

6

根據定義,線程是按順序執行代碼的東西。所以沒有辦法在一個線程中執行多個方法。如果要並行執行兩個或多個方法,請使用多個線程。您可能需要查看Java concurrency tutorial以瞭解線程的基本知識。

2

線程完全存在的原因是您可以同時執行多個事情。每個線程都有自己的堆棧和程序計數器,因此它可以隨時在代碼中只有一個地方。

+0

所以,主要原因是每個線程只能有一個程序計數器? – almas

+0

@zum:程序計數器是一個原因。另一個是線程擁有自己的內存部分。 – mort

2

每個時鐘週期有多條指令,方法內聯,CPU流水線和指令重新排序,一個線程可以同時執行來自多個方法的指令,但只有在沒有差別時才應該這樣做。即想法是在不改變行爲的情況下提高績效。

相關問題