синглтона, если можно использовать обычные статические поля с инициализацией в статическом конструкторе? По факту же все статические поля потокобезопасны?
Вроде статические на оборот, потока-небезопасные
Я тож так думал, но наткнулся на такую статью: https://www.timsommer.be/thread-safe-singeltons-in-net/. Пробовал воспроизвести случай, когда несколько потоков обращаются к одному статическому полю. Во всех случаях статическое поле действительно инициализировалось только единожды. Если надо, то могу пошарить код
Так, проблема будет, если начать изменять ее
А что подразумевается под изменением?
чтобы не вызывать инициализацию несколько раз при одновременном обращении хотя бы
А оно и не вызывается как раз таки
Ну, один поток изменит данные в поле, а другой начнет ее читать
Есть профит, если дефолтовая модель инициализации статиков тебя не устраивает. В остальных случаях нет.
А например какой профит?
Ну, если тебя дефолтовое поведение не устраивает, а нужно своё, то профит в том, что ты от неприемлемого поведения переходишь к приемлемому.
Обсуждают сегодня