gpt4 book ai didi

C# 锁(this)方法

转载 作者:行者123 更新时间:2023-11-30 22:15:42 27 4
gpt4 key购买 nike

if (runInDemoMode)
{

lock (this)
{
//Initalization of tables
dCreator.createInitialTables();
SetupPlugins();
AutoConfigure(database);

//Simulator
sim.processSimulatedData();
}
return;

}

理想情况下,我希望初始化表(一次),然后模拟器一次又一次地运行。因为我有 3 个表的初始方法也处于锁定状态,所以它们不断地一次又一次地初始化,这不是我想要的。

关于如何确保如果我处于运行演示模式我可以初始化表一次然后一次又一次地运行模拟器的任何建议。

在模拟器运行之前初始化表是至关重要的,否则它将无法工作。

最佳答案

在这里使用锁可能不是最好的主意。您应该考虑只使用一个名为 initialized 的变量,它是一个最初设置为 false 的 bool 值。如果在到达此代码时将其设置为 false,则运行初始化代码块并将变量设置为 true。然后下次到达此代码时,您的分支将评估为 false,并且初始化代码将不会再次运行。

如果您暗示这些运行不在一个应用程序调用中,而是分布在您应用程序的一系列单个调用中,您可能必须在第一次将此变量写入文件,然后在以后的运行中读回它。

关于C# 锁(this)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835609/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com