public class Test { // private Map<Thread, Double> map = new HashMap<>(); private ThreadLocal<Double> threadLocal = new ThreadLocal<>(); public static void main(String[] args) { new Test().test(); } private void test() { for (int i = 0; i < 3; i++) { new Thread(() -> { Double v = Math.random(); System.out.println(Thread.currentThread().getName() + " 的 值 是 =" + v); // map.put(Thread.currentThread(), v); threadLocal.set(v); new innerAClass().ia(); new innerBClass().ib(); }).start(); } } class innerAClass { public void ia() { // System.out.println(Thread.currentThread().getName() + "(a)取出的值是=" + // map.get(Thread.currentThread())); System.out.println(Thread.currentThread().getName() + "(a)取出的值是=" + threadLocal.get()); } } class innerBClass { public void ib() { // System.out.println(Thread.currentThread().getName() + "(b)取出的值是=" + // map.get(Thread.currentThread())); System.out.println(Thread.currentThread().getName() + "(b)取出的值是=" + threadLocal.get()); } } }
※
沒有留言:
張貼留言