Сообщение Re[31]: ConcurrentDictionary vs reference type от 25.02.2022 7:24
Изменено 25.02.2022 7:26 Serginio1
Re[31]: ConcurrentDictionary vs reference type
Здравствуйте, Codealot, Вы писали:
C>Здравствуйте, Serginio1, Вы писали:
S>>Барьер ты как раз и вызываешь, что бы компилятор не оптимизировал. Но volatile этим и занимется без полного барьера
C>А также для того, чтобы синхронизировать память. Если они вызываются.
S>> Иии. Это чему мешает например для имутабельных классов?
C>Всему.
Ну ты хоть пример то приведи! А то все болтовня!
S>> Не непонятно. ССылка когда становится доступной? Только после создания и инициализации в конструкторе. Если ты конечно из контруктора её не передаешт. Но это твои проблемы
C>Нет никакого "после создания", Нео.
угу ссылка=new Конструктор() откуда она видна из другого процесса, а вот куда в итоге это ссылка записывается там и нужна синхронизация
S>> Ну вот строки прекрасно работают и нет никаких проблем с потоками.
C>Где конкретно, в каком сценарии и что это доказывает?
Конкретно интернированные строки! String.Intern делает строки ещё интереснее
Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C#
C>Здравствуйте, Serginio1, Вы писали:
S>>Барьер ты как раз и вызываешь, что бы компилятор не оптимизировал. Но volatile этим и занимется без полного барьера
C>А также для того, чтобы синхронизировать память. Если они вызываются.
S>> Иии. Это чему мешает например для имутабельных классов?
C>Всему.
Ну ты хоть пример то приведи! А то все болтовня!
S>> Не непонятно. ССылка когда становится доступной? Только после создания и инициализации в конструкторе. Если ты конечно из контруктора её не передаешт. Но это твои проблемы
C>Нет никакого "после создания", Нео.
угу ссылка=new Конструктор() откуда она видна из другого процесса, а вот куда в итоге это ссылка записывается там и нужна синхронизация
S>> Ну вот строки прекрасно работают и нет никаких проблем с потоками.
C>Где конкретно, в каком сценарии и что это доказывает?
Конкретно интернированные строки! String.Intern делает строки ещё интереснее
Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C#
Re[31]: ConcurrentDictionary vs reference type
Здравствуйте, Codealot, Вы писали:
C>Здравствуйте, Serginio1, Вы писали:
S>>Барьер ты как раз и вызываешь, что бы компилятор не оптимизировал. Но volatile этим и занимется без полного барьера
C>А также для того, чтобы синхронизировать память. Если они вызываются.
S>> Иии. Это чему мешает например для имутабельных классов?
C>Всему.
Ну ты хоть пример то приведи! А то все болтовня!
S>> Не непонятно. ССылка когда становится доступной? Только после создания и инициализации в конструкторе. Если ты конечно из контруктора её не передаешт. Но это твои проблемы
C>Нет никакого "после создания", Нео.
угу ссылка=new Конструктор() откуда она видна из другого процесса, а вот куда в итоге это ссылка записывается там и нужна синхронизация
S>> Ну вот строки прекрасно работают и нет никаких проблем с потоками.
C>Где конкретно, в каком сценарии и что это доказывает?
Конкретно интернированные строки! String.Intern делает строки ещё интереснее
Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C#
Это по сути то и есть ConcurrentDictionary. Но никаких проблем с интернированными строками я не слышал!
А string то это объект!
C>Здравствуйте, Serginio1, Вы писали:
S>>Барьер ты как раз и вызываешь, что бы компилятор не оптимизировал. Но volatile этим и занимется без полного барьера
C>А также для того, чтобы синхронизировать память. Если они вызываются.
S>> Иии. Это чему мешает например для имутабельных классов?
C>Всему.
Ну ты хоть пример то приведи! А то все болтовня!
S>> Не непонятно. ССылка когда становится доступной? Только после создания и инициализации в конструкторе. Если ты конечно из контруктора её не передаешт. Но это твои проблемы
C>Нет никакого "после создания", Нео.
угу ссылка=new Конструктор() откуда она видна из другого процесса, а вот куда в итоге это ссылка записывается там и нужна синхронизация
S>> Ну вот строки прекрасно работают и нет никаких проблем с потоками.
C>Где конкретно, в каком сценарии и что это доказывает?
Конкретно интернированные строки! String.Intern делает строки ещё интереснее
Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C#
Это по сути то и есть ConcurrentDictionary. Но никаких проблем с интернированными строками я не слышал!
А string то это объект!