Какая польза от ThreadLocal?
Какая польза от ThreadLocal?

Видео: Какая польза от ThreadLocal?

Видео: Какая польза от ThreadLocal?
Видео: Денис Кормалев — DIY: Thread pool своими руками 2024, Ноябрь
Anonim

Джава ThreadLocal используется для создания локальных переменных потока. Мы знаем, что все потоки объекта разделяют его переменные, поэтому переменная не является потокобезопасной. Мы можем использовать синхронизацию для обеспечения безопасности потоков, но если мы хотим избежать синхронизации, мы можем использовать переменные ThreadLocal.

Итак, для чего используется класс ThreadLocal?

Джава ThreadLocal класс обеспечивает локальный поток переменные. Это позволяет вам создавать переменные, которые могут быть прочитаны и записаны только одним и тем же потоком. Если два потока выполняют один и тот же код, и этот код имеет ссылку на ThreadLocal переменная, то два потока не могут видеть локальные переменные друг друга.

Кроме того, почему ThreadLocal статичен и окончен? Как видим, статический экземпляр ThreadLocal используется только как ключ поиска. Его значение не может быть изменено, потому что оно объявлено окончательный . В ThreadLocal instance полностью потокобезопасен, потому что он действительно доступен только для чтения, поэтому синхронизация не требуется. То, что потенциально не является поточно-ориентированным, - это целевой объект.

Точно так же вы можете спросить, как ThreadLocal работает в Java?

В Java ThreadLocal class позволяет вам создавать переменные, которые могут быть прочитаны и записаны только одним и тем же потоком. Таким образом, даже если два потока выполняют один и тот же код, и код имеет ссылку на один и тот же ThreadLocal переменной, два потока не могут видеть друг друга ThreadLocal переменные.

Почему ThreadLocal статичен?

Суммируя, ThreadLocal объект работает как карта ключ-значение. статический окончательный ThreadLocal переменные потокобезопасны. статический делает ThreadLocal переменная доступна в нескольких классах только для соответствующего потока. это своего рода глобальная переменная декарации соответствующих нить местная переменные в нескольких классах.

Рекомендуемые: