静态方法的线程安全
来源:互联网 发布:普奇神父知乎 编辑:程序博客网 时间:2024/05/29 12:27
先看一个类:
public class Test
{
public static String hello(String str)
{
String tmp = "";
tmp = tmp + str;
return tmp;
}
}
hello方法会不会有多线程安全问题呢?没有!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题。
注意:静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!
public class Test
{
}
hello方法会不会有多线程安全问题呢?没有!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题。
注意:静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!
0 0
- 静态方法的线程安全
- 静态方法是线程安全的
- 静态方法是线程安全的
- Java 静态方法是线程安全的
- 静态方法是否线程安全
- static 静态方法 线程安全
- 静态方法内的方法变量是线程安全的
- 多线程中使用静态方法存在线程安全的问题
- 线程安全的方法
- 编写线程安全的方法
- 线程安全的实现方法
- Java中静态方法是否属于线程安全
- Java static 静态方法 并发(是否线程安全)
- Java static 静态方法 并发(是否线程安全)
- C++ 局部静态初始化不是线程安全的!
- 单例模式-静态内部类的实现(线程安全)
- 【Java】线程安全的单例模式----静态内部类
- Java静态工具类线程安全的一些建议
- 语法错误 : 缺少“;”(在“<”的前面)
- android的activitygroup使用
- Unity自定义数据流
- 转载 httpclient 上传、下载文件
- Android的LinearLayout.getLayoutParams().width 和 LinearLayout.getWidth() 的区别
- 静态方法的线程安全
- HDU-5280
- 详解 Too many open files
- 线程池与ThreadPoolExecutor学习笔记
- shell环境变量以及set,env,export的区别
- Mommy, I found it!, 15 Awesome Linux Find Command Examples
- Xcode更新后,第三方插件不能用的问题解决方法
- 杭电ACM1045——Fire Net~~深度优先搜索
- Matlab获取Yahoo Finance 免费数据