静态方法是线程安全的
2007-07-15 10:29
183 查看
先看一个类
public class Test{
public static String hello(String str){
String tmp="";
tmp= tmp+str;
return tmp;
}
}
hello方法会不会有多线程安全问题呢?没有!!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题
注意,静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!
public class Test{
public static String hello(String str){
String tmp="";
tmp= tmp+str;
return tmp;
}
}
hello方法会不会有多线程安全问题呢?没有!!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题
注意,静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!
相关文章推荐
- 多线程中使用静态方法是否有线程安全问题
- Java static 静态方法 并发(是否线程安全)
- 在多线程中使用静态方法是否有线程安全问题
- 在多线程中使用静态方法是否有线程安全问题(转载)
- 静态方法内的方法变量是线程安全的
- 在多线程中使用静态方法是否有线程安全问题
- 多线程中使用静态方法是否有线程安全问题
- C#静态变量和静态方法的线程安全问题
- static 静态方法 线程安全
- 在多线程中使用静态方法是否有线程安全问题
- 静态方法是否属于线程安全
- 静态方法与线程安全
- Java 静态方法是线程安全的
- Java中静态方法是否属于线程安全
- 静态方法与线程安全
- 静态方法的线程安全
- 静态方法是线程安全的
- 在多线程中使用静态方法是否有线程安全问题
- 静态方法是否线程安全
- 在多线程中使用静态方法是否有线程安全问题