コード例 #1
0
        /// <summary>
        /// Получить экземпляр.
        /// </summary>
        public static StartSingleton GetInstance()
        {
            if (_instance == null)
            {
                lock (_syncRoot)
                {
                    if (_instance == null)
                    {
                        _instance = new StartSingleton();
                    }
                }
            }

            return(_instance);
        }
コード例 #2
0
        private static void Main(string[] args)
        {
            // Проверка.
            var date = new DateTime(1970, 1, 1, 0, 0, 0, 0);

            new Thread(() =>
            {
                var sngTwo = StartSingleton.GetInstance();
                WriteToConsole($"Второй поток: {date.AddSeconds(sngTwo.GetDateOfCreation()).ToLocalTime()}");
            }).Start();

            var sngOne = StartSingleton.GetInstance();

            WriteToConsole($"Основной поток: {date.AddSeconds(sngOne.GetDateOfCreation()).ToLocalTime()}");

            Console.ReadKey();
        }