簡單例子演示 ThreadLocal 類的使用方法

fwe3 9年前發布 | 1K 次閱讀 Java 2013暑期 微軟實習筆試題目

/* 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 + "]";
}

} }</pre>

 本文由用戶 fwe3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!