Static поля и многопоточность. Нетривиальная задача. - C#
Формулировка задачи:
Нетривиальная задача.
Есть класс:
Есть проблема в том что класс используется многими потоками в приложении критичном по быстродействию.
Для безопасности приходится применять
public static class My { public static StringBuilder sb = ..... ; }
lock(My.sb)
, что само по себе не "дешево", кроме того тормозит прочие потоки. Вопрос в следующем - можно ли сделать каким то образом, чтобы для каждого отдельного потока создавался собственный экземплярMy.sb
Соврал.
Оказалось все тривиально - атрибут
[ThreadStatic]
решает проблему Однако ThreadStatic все равно тормозит выполнениеРешение задачи: «Static поля и многопоточность. Нетривиальная задача.»
textual
Листинг программы
return _logic
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д