java - ThreadLocal<AtomicInteger> 可能有用吗?

标签 java multithreading atomic

所以我只是saw someone try to use一个ThreadLocal<AtomicInteger>在一些 Java 代码中。
现在,对于链接代码,这显然是无用的,还有导致请求被拒绝的其他问题。

而且它似乎总是没用:AtomicInteger (来自 java.util.concurrent.atomic 包)专为多线程访问而设计,ThreadLocal使每个线程都有自己的值(value),那么为什么还要使用它呢?

我的问题是:是否有任何情况下 ThreadLocal<AtomicInteger>会有用吗?

最佳答案

是的,我们可能会想出一个合理的场景:

  1. 在每个任务开始时,我们需要一个 AtomicInteger 的线程本地实例;
  2. 我们继续将此对象分配给其他几个线程,例如由主任务线程派生的子线程。

如果不评估出现这种情况的整体背景,我们就无法做出判断。

关于java - ThreadLocal<AtomicInteger> 可能有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16933691/

相关文章:

android - onCreateLoader 阻塞了 UI 线程

java - 为什么我的两个简单 Java 线程没有得到交错访问?

java - 生成唯一负数的非阻塞算法

java - Android 应用程序 Activity

c# - 如何从线程刷新浏览? C#

java - Arquillian 测试类变量失去值(value)

multithreading - 如何进行原子交换——Scala方式?

java - 如果多个线程可以访问一个字段,是否应该将其标记为 volatile?

Java WebStart dll 未加载

java - @PersistenceContext 始终为 null