【发布时间】:2013-07-26 12:06:34
【问题描述】:
我有静态方法,它在自身内部调用另一个静态方法。
例如:
public List<Object> static first(int id){
List<Object> list=new ArrayList<Object>();
list.add(a);
list.add(b);
list.add(c);
//calling another static method
second(id,list);
return list;
}
public String static second(int id,List<Object> listRef){
listRef.add(a);
listRef.add(b);
listRef.add(c);
}
我的问题是:
多个线程正在使用不同的 id 调用 public static method first(int id);。
这是否是线程安全的方式?因为我在方法中声明 arrayList 并且我认为它的引用可能被其他线程共享。
问题是 Array 存储在堆内存中而不是存储在 Individual 中 线程堆栈。所以我认为许多线程共享数组引用 可能会发生。
【问题讨论】:
标签: java thread-safety