java类全局静态变量在多线程中数据混乱问题
解决方法:
可以使用ThreadLocal实现线程内的数据共享,而在另外线程中运行时又共享另外一份数据。
用法:
private static final ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>();//全局静态变量
在调用方法中改变threadLocal的值:threadLocal.set(2);
在调用方法中获取threadLocal的值:Integer session = threadLocal.get();
这样一来,使用ThreadLocal改变的是当前线程threadLocal变量的值,不影响其他线程的threadLocal变量。
本文地址:http://www.yayihouse.com/yayishuwu/chapter/1174