第1个回答 2010-09-16
我只是在静态方法中定义非静态的成员变量,这个时候没有同步问题,why?
首先。。方法里面的变量不叫成员变量叫局部变量。。出了方法就消失的变量。。而成员变量属于对象的。。是随着对象的消失而消失的。。当然静态的除外。。局部变量属于方法。。方法一执行完就完了。。
为什么没有同步问题。。
就是你说的那样。。
是否,不同人在调用该静态方法时,在内存中,都各自的生了成员变量的内存空间?
所以没有同步问题?
方法里面的代码只是一个程序块。。只有在别人调用它的时候才会调到内存里面去执行。。所以别人一调用就会产生各自的局部变量。。
所以没有同步问题。。每个线程操作的变量都是属于自己的。。
第2个回答 2010-09-16
对的 在静态方法中定义的成员变量是不同的 静态方法内部的信息是不持久保存的。
当然 如果你这个方法访问的是固定的访问同一个文件或数据 同步问题还是会出现
第3个回答 2010-09-16
我只是在静态方法中定义非静态的成员变量????
在方法中只能定义局部变量,而局部变量在堆栈里面分配内存,每个线程都有独立的不同的堆栈,所以不存在访问冲突,也就不需要同步了。
第4个回答 2010-09-16
静态方法内只能使用类的静态变量吧,如果一个方法不使用成员变量,这个方法的用用处很少吧
第5个回答 2010-09-16
唉,基本的概念再搞搞清楚吧,定义在方法里面的叫局部变量