解了以后发现singleton的重要
点击(此处)折叠或打开
-
static void Main(string[] args)
-
{
-
-
Task.Run(() => Console.WriteLine(ConfigStore.Amigo.CategoryIDs));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.ApiPath2));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.ApiPathByB2B2));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.AuthAPIName));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.CreateOrderToken));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.JWTSecret));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.LdapPath));
-
Task.Run(() => Console.WriteLine(ConfigStore.Common.IsTestCase));
-
Console.Read();
- }
以这段CODE来模拟同时间呼叫 原本的写法在建立的时候是这样做

点击(此处)折叠或打开
-
Console.WriteLine("中間");
-
if (signalled = mutex.WaitOne(2000))
-
{
-
Console.WriteLine("裡面");
-
if (instance == null)
-
{
-
Console.WriteLine("很裡面");
-
instance = new ConsulConfigStore();
-
}
- }
发生了两秒过去了会让NULL的物件继续往前走
所以改回了这样的写法
点击(此处)折叠或打开
-
Console.WriteLine("中間");
-
if (instance == null)
-
{
-
lock (o)
-
{
-
Console.WriteLine("裡面");
-
if (instance == null)
-
{
-
Console.WriteLine("很裡面");
-
instance = new ConsulConfigStore();
-
}
-
}
-
- }
纪录纪录