【发布时间】:2014-06-05 06:22:05
【问题描述】:
我有一个 Servlet A,它在其方法之一中定义了一个局部变量 a1,如下所示。还有另一个类 B,在 Servlet A 中为其创建对象,该对象调用该方法并执行操作。
a1 和 a2 变量中的哪一个是线程安全的,为什么?我相信a1 是线程安全的,因为它是A 类的本地对象,而a2 不是线程安全的,因为它表现为成员变量。
class Servlet A {
public void method1(){
String a1;
B b = new b();
String c = b.method2(a1);
}
}
class B {
String a2;
public String method2(String a1){
// do operations on a1 and a2
return a1+a2;
}
}
【问题讨论】:
标签: java multithreading variables thread-safety scope