Реализация Singleton - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, увидел очень странную для себя реализация паттерна Singleton.
 public sealed class Singleton
        {
            public static event EventHandler SomeEventButton;
            private Singleton(string[] input)
            {
                SomeEventButton+=(o,e)=>
                {
                    Task.Factory.StartNew(() => {  });
                };
                
            }
 
            private static volatile Singleton singletonInstance;
 
            private static readonly Object syncRoot = new Object();
 
            public static Singleton GetInstance(string[] input)
            {
                if (singletonInstance == null)
                {
                    lock (syncRoot)
                    {
                        if (singletonInstance == null)
                        {
                            singletonInstance = new Singleton(input);
                        }
                    }
                }
                return singletonInstance;
            }
        }
Если предположить что SomeEventButton, вызывается каждый раз при нажатии кнопки, то теоретически в программе может появится нескончаемый набор отдельных параллельных потоков?

Решение задачи: «Реализация Singleton»

textual
Листинг программы
Task.Factory.StartNew(() => {  });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5