Если вы хотите использовать локальные данные и инициализировать их для каждого потока можно использовать класс ThreadLocal<T>.