public class StaticMethod{
// not exist any class attribute
public static void setDataToPerson(Person person){
if(person.age > 60){
person.setLevel("OLD");
}
}
//other similar methods
}我知道,如果静态方法中不会操作类属性,则基本不存在线程安全问题,但如上的例子中会
操作参数中传入的对象,是否存在线程安全问题呢???我的理解是不存在,因为每个线程传进来的Person对象应该不是同一个吧,而如果Person是个单例,则可能
存在线程安全的问题,大家讨论下呢 ?
这问题得问你自己啊,你要确认有没有可能person被多线程操作
这个和是不是静态方法没有关系你操作的是这个Person对象
如果两个线程访问的是同一个Person对象,那么你同时调用这个方法,当然的不是线程安全的