【发布时间】:2014-01-08 15:21:25
【问题描述】:
我是 Java 新手,如果以下简单案例的答案很明显,请原谅。
class A{
public void foo(Customer cust){
cust.setName(cust.getFirstName() + " " + cust.getLastName());
cust.setAddress(new Address("Rome"));
}
}
我为 A 类创建了一个单例对象 (objectA)。
鉴于我没有任何类变量,如果我从不同线程调用
objectA.foo(new Customer())是否线程安全?如果我将 foo 更改为 static 并从不同的线程调用
A.foo(new Customer())会怎样? 它仍然是线程安全的吗?
【问题讨论】:
-
使方法
synchronized不会自动使其成为线程安全的。事实上,在这个例子中,它不会做任何有用的事情。
标签: java multithreading thread-safety