1
シングルトンのインスタンスを作成する際の競合条件に関するシングルトンとスレッドセーフティの問題については、どのスレッドについて話していますか?シングルトンとスレッドの安全性
- 私は一度MYAPP.EXEを開き、 その後、もう一度:例として、これを使用して
は、それは話している私はシングルトン
class MyApp { MySingleton oneAndOnly; int main() // application entry point { oneAndOnly = MySingleton::GetInstance(); } void SpawnThreads() { for(int i = 0; i < 100; i++) { Thread spawn = new Thread(new ThreadStart(JustDoIt)); spawn.Start(); } } void JustDoIt() { WaitRandomAmountOfTime(); // Wait to induce race condition (maybe?) for next line. MySingleton localInstance = MySingleton::GetInstance(); localInstance.DoSomething(); } }
を使用するのMyAppを持っていると仮定します再び、 を開こうとしていますか?
- これは、MyAppによって生成されたスレッドに関するものですか? MyAppが スレッドを生成しない場合はどうなりますか?