我正在摆弄Threads并尝试使用以下代码
import java.text.SimpleDateFormat;
public class SimpleDateFormatTest {
public static void main(String[] args) {
Thread A=new Thread(()->{
SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(Thread.currentThread().getName()+" "+a);
});
Thread B=new Thread(()->{
SimpleDateFormat b=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(Thread.currentThread().getName()+" "+b);
});
A.start();
B.start();
}
}
我得到的输出如下:
为了线程安全起见,当我为两个单独的线程局部变量(a& b)分配单独的新对象时,有人可以告诉我为什么同一个对象被传递给两个线程吗?
先谢谢!!