大家都知道这不是线程安全的:
public StringBuilder Builder
{
get
{
if (_builder != null)
_builder = new StringBuilder();
return _builder;
}
}
那这个呢?
public StringBuilder Builder
{
get { return _builder ?? (_builder = new StringBuilder()); }
}
这或多或少是线程安全的;您仍然可以让两个线程同时执行空检查,从而创建单独的对象并且看不到另一个对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)