全局变量可能被其他线程改了, 其他线程也访问到这个变量改了东西。ThreadLocal 只有你这个线程访问;最最重要得一点:为了不用写一大堆全局变量。 如图所示: 线程1每次+100,线程2每次+10,模拟不同的用户请求。 如果没有ThreadLocal,你就需要定义一大堆全局变量才能做到不同线程的变量独立。