日期:2014-05-18  浏览次数:20986 次

静态方法中实例化对象并返回是否是安全的?
在B/S应用中,有一个类似如下的应用场景。

public class CommUserFacade
{
  public static UserInfo BuildUser(SomeClass para)
  {
  UserInfo info = new UserInfo();
  info.a = para.a;
  info.b = para.b;
  return info;
  }
}

我想问的是,在B/S大并发访问的场景中,这种用法是否安全?谢谢!

------解决方案--------------------
UserInfo info是局部变量...
例子本身当然是安全的。

------解决方案--------------------
每一个线程有自己独立的堆栈,所以局部变量当然是线程安全的。