Разные значения нестатического поля в разных потоках

Рейтинг: 1Ответов: 2Опубликовано: 14.05.2011

Чтобы статическое поле имело своё значение в каждом потоке, его следует пометить атрибутом ThreadStatic. Есть ли стандартный механизм, позволяющий делать то же самое с нестатическими полями?

Ответы

▲ 2Принят

В Java это ThreadLocal<T>. В 4 С# ввели похожую конструкцию: ThreadLocal. Для ранних версий можете глянуть возможные решения на SO.

▲ 2

Нашёл наиболее адекватное решение: Thread.AllocateDataSlot.

Дальше в каждом экземпляре хранится свой слот, и обращение к переменной идёт через него.