Имейте в виду, что это было в 2008 году - я считаю , что .NET 4 намного быстрее для ThreadStatic
полей, чем .NET 3.5. Я не могу вспомнить наверняка, но вы можете запускать тесты, если хотите.
Тем не менее, я не совсем уверен в описании теста - потому что это нереально. Вам действительно нужно многократно читать локальное поле потока в цикле? Разве не более вероятно, что вы прочтете это один раз, а потом чуть позже в другом кусочке кода?
В конечном счете, реальный вопрос заключается в том, достаточно ли одного или обоих этих подходов достаточно для ваших конкретных требований. Я предпочитаю от ThreadLocal<T>
до ThreadStatic
не по соображениям производительности, а потому, что это допускает соответствующую инициализацию - см. Мою статью о случайности для примера.