在多線程程序中執行一次初始化時,下面的代碼段是「安全」嗎?在多線程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