1. 程式人生 > >Java執行緒詳解(3)-執行緒棧模型與執行緒的變數

Java執行緒詳解(3)-執行緒棧模型與執行緒的變數

要理解執行緒排程的原理,以及執行緒執行過程,必須理解執行緒棧模型。

        執行緒棧是指某時刻時記憶體中執行緒排程的棧資訊,當前呼叫的方法總是位於棧頂。執行緒棧的內容是隨著程式的執行動態變化的,因此研究執行緒棧必須選擇一個執行的時刻(實際上指程式碼執行到什麼地方)。

        下面通過一個示例性的程式碼說明執行緒(呼叫)棧的變化過程。

        這幅圖描述在程式碼執行到兩個不同時刻1、2時候,虛擬機器執行緒呼叫棧示意圖。

        當程式執行到t.start();時候,程式多出一個分支(增加了一個呼叫棧B),這樣,棧A、棧B並行執行。

        從這裡就可以看出方法呼叫和執行緒啟動的區別了。