原文:
http://lavasoft.blog.51cto.com/62575/27069/
?作者:熔巖
要理解線程調度的原理,以及線程執行過程,必須理解線程棧模型。
線程棧是指某時刻時內存中線程調度的棧信息,當前調用的方法總是位于棧頂。線程棧的內容是隨著程序的運行動態變化的,因此研究線程棧必須選擇一個運行的時刻(實際上指代碼運行到什么地方)。
?
下面通過一個示例性的代碼說明線程(調用)棧的變化過程。
?
這幅圖描述在代碼執行到兩個不同時刻1、2時候,虛擬機線程調用棧示意圖。
?
當程序執行到t.start();時候,程序多出一個分支(增加了一個調用棧B),這樣,棧A、棧B并行執行。
?
從這里就可以看出方法調用和線程啟動的區別了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
