简单例子演示 ThreadLocal 类的使用方法
2018-07-20 来源:open-open
/** 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
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐