java thread

3 多線程函數加lock
3.3.1 數據和函數存儲分離
創建對象不會爲成員函數分配空間。成員函數放在代碼區,多個對象共享一個成員函數。
創建對象僅僅在自己的棧上存放自己的成員變量.
3.3.2 每個線程都有自己的線程棧和程序計數器PC 
第一個線程執行到方法的第8行,第二個線程執行到第二行,雖然是同一個方法,但是不同線程在調用,程序計數器的值是不一樣的,操作這兩個線程不會相互影響(假設不存在訪問共享變量的情況)
https://www.zhihu.com/question/29566482
函數加不加鎖與static函數和non-static函數沒關係,要看是不是有共享的變量。
不同對象多線程共享變量是static變量,比如單例模式:http://www.runoob.com/design-pattern/singleton-pattern.html
如果是一個對象多線程則除了static變量還是成員變量.
比如:https://blog.csdn.net/aaa1117a8w5s6d/article/details/8295527 


多線程variable問題,synchronized
https://blog.csdn.net/ghsau/article/category/1707779

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