在多线程程序中执行一次初始化时,下面的代码段是“安全”吗?在多线程C#程序中执行一次初始化
我有点担心,装箱/拆箱可能会造成一些问题......
private static object initialized = false;
public static void Initialize()
{
lock (initialized)
{
if ((bool)initialized == false)
{
DoInitialization();
initialized = true;
}
}
}
请注意,我不能只是做从主或其他一些单线程方面的初始化。
或者使用静态构造函数。或新的'懒惰'对象。 –
2010-08-17 03:16:10