提交 3a5f1f5d 编写于 作者: 沉默王二's avatar 沉默王二 💬

ThreadLocal

上级 df6f49ce
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
- [非阻塞性队列ConcurrentLinkedQueue](docs/thread/ConcurrentLinkedQueue.md) - [非阻塞性队列ConcurrentLinkedQueue](docs/thread/ConcurrentLinkedQueue.md)
- [阻塞队列BlockingQueue](docs/thread/BlockingQueue.md) - [阻塞队列BlockingQueue](docs/thread/BlockingQueue.md)
- [并发容器CopyOnWriteArrayList](docs/thread/CopyOnWriteArrayList.md) - [并发容器CopyOnWriteArrayList](docs/thread/CopyOnWriteArrayList.md)
- [吊打Java并发面试官之ThreadLocal](docs/thread/ThreadLocal.md) - [本地变量ThreadLocal](docs/thread/ThreadLocal.md)
- [面试必备:Java线程池](docs/thread/pool.md) - [面试必备:Java线程池](docs/thread/pool.md)
- [为什么阿里巴巴要禁用Executors创建线程池?](docs/thread/ali-executors.md) - [为什么阿里巴巴要禁用Executors创建线程池?](docs/thread/ali-executors.md)
- [深入剖析Java计划任务ScheduledThreadPoolExecutor](docs/thread/ScheduledThreadPoolExecutor.md) - [深入剖析Java计划任务ScheduledThreadPoolExecutor](docs/thread/ScheduledThreadPoolExecutor.md)
......
--- ---
title: 吊打Java并发面试官之ThreadLocal title: 吊打Java并发面试官之ThreadLocal
shortTitle: ThreadLocal shortTitle: ThreadLocal
description: 吊打Java并发面试官之ThreadLocal description: ThreadLocal 是 Java 中提供的一种用于实现线程局部变量的工具。它允许每个线程都可以有自己的独立副本,从而实现线程隔离,可以用于解决多线程中共享对象的线程安全问题。
category: category:
- Java核心 - Java核心
tag: tag:
...@@ -12,9 +12,11 @@ head: ...@@ -12,9 +12,11 @@ head:
content: Java,并发编程,多线程,Thread,ThreadLocal content: Java,并发编程,多线程,Thread,ThreadLocal
--- ---
## ThreadLocal 的简介 # 14.24 本地变量 ThreadLocal
在多线程编程中通常解决线程安全的问题时,我们会利用 synchronzed 或者 lock 控制线程对临界区资源的同步顺序,但是这种加锁的方式会让未获取到锁的线程进行阻塞等待,很显然这种方式的时间效率并不是特别好。 ThreadLocal 是 Java 中提供的一种用于实现线程局部变量的工具。它允许每个线程都拥有自己的独立副本,从而实现线程隔离。ThreadLocal 可以用于解决多线程中共享对象的线程安全问题。
通常,我们会使用 [synchronzed 关键字](https://javabetter.cn/thread/synchronized-1.html) 或者 [lock](https://javabetter.cn/thread/lock.html) 来控制线程对临界区资源的同步顺序,但这种加锁的方式会让未获取到锁的线程进行阻塞,很显然,这种方式的时间效率不会特别高。
**线程安全问题的核心在于多个线程会对同一个临界区共享资源进行操作**,那么,如果每个线程都使用自己的“共享资源”,各自使用各自的,互相不影响到彼此,即多个线程间达到隔离的状态,这样就不会出现线程安全的问题。 **线程安全问题的核心在于多个线程会对同一个临界区共享资源进行操作**,那么,如果每个线程都使用自己的“共享资源”,各自使用各自的,互相不影响到彼此,即多个线程间达到隔离的状态,这样就不会出现线程安全的问题。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册