Java переменная, связанная с потоком - PullRequest
0 голосов
/ 27 января 2020

Я хотел бы связать переменную / значение с потоком, чтобы мне не пришлось явно передавать его в стек вызовов. По сути, это глобальная переменная, которая ограничена текущим потоком.

У меня есть метод, который должен определить переменную, которая будет доступна в стеке вызовов x больше методов. Я не хочу, чтобы все это проходили все слои метода X.

Везде, где я ищу, люди приводят примеры, используя класс ThreadLocal. Может быть, я что-то упускаю, но, используя ThreadLocal, как получить ссылку на переменную ThreadLocal, когда я глубоко погружен в вызовы методов X уровней?

Вся помощь приветствуется.

1 Ответ

1 голос
/ 27 января 2020

Просто создайте общедоступный экземпляр ThreadLocal и вызовите метод get(). Например, у вас может быть

public class ThreadHelper {
    public static final ThreadLocal<T> THREAD_MAP = new ThreadLocal<>();
}

Тогда просто используйте это ...

...
ThreadHelper.THREAD_MAP.get();
...

Или вы можете использовать шаблон Singleton. и др c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...