ThreadLocal种的使用
ThreadLocal类的使用
package thread; import sun.nio.cs.ThreadLocalCoders; /** * 对该类提供了线程局部 (thread-local) 变量 助理并发对数据的的共享 * * @author admin * */ public class ThreadLocalTest { private static int attribute = 0; //使用ThreadLocal处理数据并发性。 private static ThreadLocal<Integer> serialNum = new ThreadLocal<Integer>() { @Override protected Integer initialValue() { // TODO Auto-generated method stub return attribute++; } }; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //不同线程之间数据是一个不一样的副本 for(int i = 0 ; i < 2; i++){ new Thread(){ @Override public void run() { // TODO Auto-generated method stub System.out.println(serialNum.get()); } }.start(); } //同一个线程访问的数据是相同的。 System.out.println("f" + serialNum.get()); System.out.println("f" + serialNum.get()); } }