Что такое лучшие практики для использования локальной памяти потока в.NET?

Попробуйте java.util.Arrays.toString(int[]) API.

Внутри printTable() вы можете напечатать так:

System.out.println(Arrays.toString(table));
7
задан Eric Z Beard 6 October 2008 в 17:32
поделиться

2 ответа

Глюк для приложений asp.net: обработка единственного запроса могла бы переключить потоки, а именно, если существуют параллельные запросы на той же сессии. Из-за этого что-либо Вы вставляете TLS перед HttpApplication. Событие PostRequireRequestState не могло бы быть там позже, потому что Вы находитесь на другом потоке.

[Редактирование автором вопроса]

Для моего конкретного варианта использования я закончил тем, что добавил пару "ключ-значение" к SqlException. Словарь данных, который я затем получаю, когда я регистрирую детали исключения. Это дает мне функциональность, для которой я надеялся использовать локальную память потока.

7
ответ дан 6 December 2019 в 19:44
поделиться

Локальная память потока является быстрым способом зафиксировать библиотеку, которая была разработана перед потоками и использует много глобальных переменных и помех. Это - способ, которым стандартная библиотека C была сделана ориентированной на многопотоковое исполнение, не изменяя ее интерфейс (внутренне, много функций используют статические буферы).

Обычно это довольно хорошо с этой целью. Если у Вас должны быть глобальные данные в многопоточной среде, то локальная память потока является хорошим способом пойти. Общая причина состоит в том, что Вы вызываете стороннюю функцию, которая отзывает Вас в том же стековом фрейме, но не дает Вам рычаг для передачи дополнительной информации - это происходит много, когда Вы пытаетесь перенести более старые библиотеки C в.NET.

6
ответ дан 6 December 2019 в 19:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: