当多个线程访问时,我有静态方法,数据更新不正确,
public class A
{
private static B b=null;
public static B create()
{
b= new B();
return b;
}
public static B process()
{
// doing some processing with b;
return b;
}
}
如果多个线程同时访问,B会受到影响吗?
答案 0 :(得分:0)
如果要保护该值并确保其正确更新,则应使该方法同步。
答案 1 :(得分:0)
不,因为b
存在于对象级别,并且不能静态访问。
答案 2 :(得分:0)
在我们看到您访问和使用b
的方式之前,没有人能说出来。
然而,我能说的一件事是,静态与否通常不是影响线程安全性的主要因素。