简单例子演示 ThreadLocal 类的使用方法

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
/** Demonstrate use of ThreadLocal */
public class ThreadLocalDemo extends Thread {

  /** A serial number for clients */
  private static int clientNum = 0;

  /** This ThreadLocal holds the Client reference for each Thread */
  private ThreadLocal myClient = new ThreadLocal() {
    // The initialValue() method is called magically when you call get().
    protected synchronized Object initialValue() {
      return new Client(clientNum++);
    }
  };

  public void run() {
    System.out.println("Thread " + Thread.currentThread().getName() +
      " has client " + myClient.get());
  }

  public static void main(String[] args) {
    Thread t1 = new ThreadLocalDemo();
    Thread t2 = new ThreadLocalDemo();
    t1.start();
    t2.start();
  }

  /** Simple data class, in real life clients would have more fields! */
  private class Client {

    private int clNum;

    Client(int n) {
      clNum = n;
    }

    public String toString() {
      return "Client[" + clNum + "]";
    }
  }
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:用JavaScript实现HTML转义

下一篇:使用 NIO 实现的一个超级快的 FileServlet