public class ThinkThreadLocal {
public static int data;
public static void main(String[] args) {
for(int i = 0; i < 2; i++) {
new Thread(new Runnable(){
@Override
public void run() {
data = new Random().nextInt();
System.out.println(Thread.currentThread().getName() + " gene data:" + data);
}
}).start();
}
}
}
Run Code Online (Sandbox Code Playgroud)
为什么它打印相同的值?
Thread-0 gene data:-751128970
Thread-1 gene data:-751128970
Run Code Online (Sandbox Code Playgroud)