static 静态方法 线程安全
2014-09-12 13:18
197 查看
static 静态方法 线程安全
/article/8535742.html
public class Test
{
public static String hello(String str)
{
String tmp = "";
tmp = tmp + str;
return tmp;
}
}
hello方法会不会有多线程安全问题呢?没有!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题。
注意:静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!
/article/8535742.html
public class Test
{
public static String hello(String str)
{
String tmp = "";
tmp = tmp + str;
return tmp;
}
}
hello方法会不会有多线程安全问题呢?没有!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题。
注意:静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!
相关文章推荐
- Java static 静态方法 并发(是否线程安全)
- 为什么VB.net的Shared(共享)方法在C#中叫Static(静态)?
- 在多线程中使用静态方法是否有线程安全问题
- 静态方法(Static)到底该不该用?
- 用static定义静态方法
- static静态方法给静态变量附值
- USING STATIC IMPORTS FOR CONSTANTS AND METHODS(使用静态导入引用常量与方法)
- java静态方法、非静态代码块{}、静态代码块static{}
- 静态(static)方法的继承和重写
- 【转】static 静态方法的优缺点
- 静态页面间数据传递方法总结--Data transforming between static html pages
- 静态方法是线程安全的
- (转)为什么VB.net的Shared(共享)方法在C#中叫Static(静态)?
- 为什么VB.net的Shared(共享)方法在C#中叫Static(静态)?
- static 静态方法的优缺点
- 静态方法--static方法
- 静态(Static)方法
- 对static 修饰符之静态变量和静态方法的理解
- java中静态代码块 静态方法 static
- public static ArrayList 静态方法或者对象的回收技巧