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

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