在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Linux  網(wǎng)絡安全/ 關于線程是否有自己的內(nèi)存空間的問題

關于線程是否有自己的內(nèi)存空間的問題

從線程和進程的角度來說,進程是資源分配的最小單位,線程是獨立調(diào)度的最小單位。
同一個進程中的多個線程之間可以并發(fā)執(zhí)行,他們共享進程資源。
線程不擁有資源,線程可以訪問隸屬進程的資源,進程有自己的獨立空間地址,線程沒有自己的獨立空間地址,但是線程有自己的堆棧和局部變量。

如何理解線程不擁有獨立的地址空間但是線程卻可以有私有的棧、程序計數(shù)器、本地方法區(qū)。

我的一直的理解是,線程的棧、程序計數(shù)器、本地方法區(qū)也是存放在進程的地址空間上,只是這些棧、程序計數(shù)器、本地方法區(qū)都只能有某個特定的線程去訪問、其他的線程訪問不到。

這么理解是對的嗎?

回答
編輯回答
凹凸曼

你的理解是對的,稍微補充一點,線程的棧,其他線程也是可以訪問的,只是常規(guī)上訪問不到,如果你使用C/C++語言的話,數(shù)組越界后,很容易就訪問到其他線程的棧了,以致有可能導致其他線程的異常。 這一點也從側面證明一個進程內(nèi)的多個線程是共享內(nèi)存的。

2017年1月6日 07:14