thread safety
От: SHEMA  
Дата: 08.08.10 07:44
Оценка:
Столкнулся с тем что оказывается некоторые довольно часто используемые классы не потоко-безопасны.
Ну например: класс Encoding.
Использую в каком-нибудь лог-хелпере (класс для логирования).
Хочу писать логи в UTF8 без BOM.
Для етого хочу глобальный проперти

Encoding _enc = new UTF8Encoding(false);


Смотрю в MSDN:

Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


Т.е. наскока понимаю Encoding.UTF8 потоко-безопасен, а инстансы Encoding класса нет.
Неужели на каждый вызов LogWrite() надо создавать новый класс чтобы обеспечить безопасный вызов в многопоточной среде?

Или например CultureInfo.
Используется в различных методах конвертации.
Опять же хочется создать один глобальный проперти для всех методов вместо того чтобы создавать новый объект на каждый чих.
Неужели всё так плохо или я что-то не понимаю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.