练习题之ThreadLocal

Posted 异想天开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习题之ThreadLocal相关的知识,希望对你有一定的参考价值。

public class  ThreadLocalMain {
 
  private static ThreadLocal<Integer> value = new ThreadLocal<Integer>() {
     @Override
     protected Integer initialValue(){
        return 0;
     }
  };
 
 class TestThread implements Runnable {
   private int index;
   public TestThread(int index) {
      this.index = index;
   }
  
  public void run() {
    System.out.println("线程“+index +"的初始Value:" + value.get());
    for(int i=0;i<10;i++) {
        value.set(value.get()+i);
     }
    System.out.println("线程“+index +"的累加Value:" + value.get());
  }
  
  public static void main(String [] args) {
    ThreadLocalMain main = new ThreadLocalMain();
    for(int i=0;i<5;i++) {
      TestThread testThread = main.new TestThread(i);
      new Thread(testThread).start();
    }
  }
 }  
}

关于ThreadLocal的使用请参见:http://ifeve.com/java-theadlocal/

以上是关于练习题之ThreadLocal的主要内容,如果未能解决你的问题,请参考以下文章

线程之ThreadLocal使用

Java代码质量改进之:使用ThreadLocal维护线程内部变量

Java并发编程之ThreadLocal内存泄漏探究

Android线程管理之ThreadLocal理解及应用场景

多线程之ThreadLocal

JAVA concurrency 之ThreadLocal源码详解,80%人不会