次の簡単なコードを検討してください。それから質問します。
public static void Save(XmlDocument saveBundle)
{
ThreadStart threadStart = delegate
{
SaveToDatabase(saveBundle);
};
new Thread(threadStart).Start();
}
Visual Studio (2005) でスレッドを使用する際の問題は、それらを簡単にウォークスルーできないことです (もっと簡単な方法があることを望んでいるので、調べていないスレッドを切り替える方法があると思います)。
したがって、ライブでは、私のコードは上記の例よりも複雑であり、時間が重要であるため新しいスレッドを使用しますが、プリンシパルは同じです。最も重要なことは、テストではタイム クリティカルではないということです。
現時点では、おそらく を使用するようなことをするでしょうが、そうするの#if debug
は間違っていると感じています - ここで #if を正しい方法で使用していますか、それともこれを解決するためのより良い方法はありますか?
public static void Save(XmlDocument saveBundle)
{
#if debug
{
SaveToDatabase(parameters);
}
#else
{
ThreadStart threadStart = delegate
{
SaveToDatabase(parameters);
};
new Thread(threadStart).Start();
}
#endif
}
}
私は .NET 2.0 で立ち往生していますが、.NET 20 以降のどのバージョンにも興味があります (いつかジュラ紀を離れて、他のすべての人に加わる日が来ると確信しています)。