Попробуйте java.util.Arrays.toString(int[])
API.
Внутри printTable()
вы можете напечатать так:
System.out.println(Arrays.toString(table));
Глюк для приложений asp.net: обработка единственного запроса могла бы переключить потоки, а именно, если существуют параллельные запросы на той же сессии. Из-за этого что-либо Вы вставляете TLS перед HttpApplication. Событие PostRequireRequestState не могло бы быть там позже, потому что Вы находитесь на другом потоке.
[Редактирование автором вопроса]
Для моего конкретного варианта использования я закончил тем, что добавил пару "ключ-значение" к SqlException. Словарь данных, который я затем получаю, когда я регистрирую детали исключения. Это дает мне функциональность, для которой я надеялся использовать локальную память потока.
Локальная память потока является быстрым способом зафиксировать библиотеку, которая была разработана перед потоками и использует много глобальных переменных и помех. Это - способ, которым стандартная библиотека C была сделана ориентированной на многопотоковое исполнение, не изменяя ее интерфейс (внутренне, много функций используют статические буферы).
Обычно это довольно хорошо с этой целью. Если у Вас должны быть глобальные данные в многопоточной среде, то локальная память потока является хорошим способом пойти. Общая причина состоит в том, что Вы вызываете стороннюю функцию, которая отзывает Вас в том же стековом фрейме, но не дает Вам рычаг для передачи дополнительной информации - это происходит много, когда Вы пытаетесь перенести более старые библиотеки C в.NET.