Java怎样为每个线程提供一个单例

ThreadLocal就是正解,如果有问题就是你用的不对。另外,题主对volatile的理解几乎完全是错的。
■网友
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile 变量的最新值。由上所述,volatile明显不是让每个线程都保存一份实例的副本。Java 理论与实践: 正确使用 Volatile 变量这种属于Java基本语法


    推荐阅读