Java多線程編程:變量共享分析(Thread)

Java多線程編程:變量共享分析(Thread)
Java 創建線程的兩種方法

此處只簡單講下自己對java多線程變量共享的理解:

按照進程和多線程的原理,同一進程內的多個線程之間的地址空間是共享的(除去ThreadLocal),這樣線程間的數據是可以互相任意訪問的,而對於不同的的語言,如果要實現變量數據的訪問,除了要遵循線程間非ThreadLocal數據可以直接訪問的原則,還要受限於語言層面的訪問限制,這樣對於c語言,需要extern聲明變量,這樣其他線程纔可以訪問該變量。而對於java語言,不同類之間不能訪問類內部變量成員,所以大部分情況下可以採用把一個線程寫到類內部,或者通過變量傳參進行傳遞,而這個原理就是傳遞變量地址空間給其他線程。

總結:多線程間變量的訪問 = 操作系統對線程間變量的限制 + 語言級別訪問限制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章