Описание тега thread-static
ThreadStaticAttribute не разделяется между потоками. Каждый исполняющий поток имеет отдельный экземпляр поля и независимо устанавливает и получает значения для этого поля. Если доступ к полю осуществляется в другом потоке, он будет содержать другое значение. Атрибут ThreadStatic полезен только тогда, когда вы управляете ThreadPool (и жизненным циклом потоков). Это также напоминает о необходимости думать о переменной области действия / времени жизни, особенно в контексте ASP.NET.
2
ответа
Будут ли значения в моих переменных ThreadStatic все еще присутствовать при циклическом переключении через ThreadPool?
Я использую переменные ThreadStatic для хранения некоторых данных, но меня беспокоит, что данные, которые я храню в потоке, все еще будут там после того, как я закончу с этим и вернусь обратно в ThreadPool. Нужно ли беспокоиться об очистке моих пере…
12 май '09 в 21:33
3
ответа
ThreadStatic, модифицированный статическим C#
У меня есть код, где я использую статический объект потока в C#. [ThreadStatic] private DataContext connection Мне было интересно, в этом случае, что если я получу какие-либо изменения, если я добавлю модификатор static в статический контекст потока…
15 май '09 в 12:57
5
ответов
Как Java ThreadLocal реализован под капотом?
Как реализован ThreadLocal? Это реализовано в Java (с использованием некоторой параллельной карты от ThreadID к объекту), или это использует некоторую ловушку JVM, чтобы сделать это более эффективно?
29 июл '09 в 19:16
1
ответ
Детерминированная утилизация объектов ThreadStatic
Атрибут ThreadStatic объявляет статическую переменную как уникальную для каждого потока. Знаете ли вы простой способ правильно расположить такие переменные? То, что мы использовали до ThreadStatic, является ThreadContextManager. Каждому потоку был …
25 сен '08 в 11:55
2
ответа
Почему я получаю исключение NullReferenceException в следующем коде C#?
У меня есть следующая тестовая программа, где я использую ThreadStatic переменная, когда я пытаюсь этот код, я получаю NullReferenceException, using System; using System.Threading; namespace MiscTests { public class Person { public string Name { get…
11 июн '14 в 20:20
2
ответа
Это потокобезопасный способ инициализации [ThreadStatic]?
[ThreadStatic] приватная статическая Foo _foo; public static Foo CurrentFoo { получить { if (_foo == null) { _foo = new Foo(); } вернуть _foo; } } Предыдущий поток кода безопасен? Или нам нужно заблокировать метод?
06 июл '09 в 15:24
4
ответа
Потоковые статические переменные для асинхронных операций в.NET
Есть ли способ передать переменные ThreadStatic из одного потока в другой? У меня есть куча переменных ThreadStatic, и теперь, когда я преобразовываю свою операцию в асинхронную, я хочу иметь возможность "перенести" их из первого потока (где они уст…
19 мар '09 в 19:10
2
ответа
В поисках универсального контекстного хранилища
Прежде всего, я хотел бы, чтобы контекстно-зависимое хранилище было единым для всей среды! С учетом сказанного я ищу элегантное решение для обеспечения безопасности этих свойств в ASP.NET, WCF и любом другом многопоточном коде.NET. Свойства находятс…
09 апр '09 в 20:19
2
ответа
Использование параллельных расширений с атрибутом ThreadStatic. Может ли это утечка памяти?
Я использую Parallel Extensions довольно интенсивно, и я только что столкнулся со случаем, когда использование локального хранилища потоков может быть целесообразным, чтобы разрешить повторное использование объектов рабочими потоками. Поэтому я смот…
12 июн '10 в 17:09