俊星的BLOG

我的DWR之ThreadLocal学习

ThreadLocal实际是一个thread local variable(线程局部变量),其目的是为每一个使用该变量的线程都提供一个变量值的副本,更多内容可以参考该文章(http://www.cnblogs.com/zjblue/articles/495123.html),下面是我试用:
public class ThreadTest {
    
public static void main(String[] args) {
        System.out.println(
"main " + ThreadNum.getNum());
        
new ThreadOne().start();
        
new ThreadTwo().start();
    }

}


class ThreadOne extends Thread {
    
public void run() {
        System.out.println(
"Thread1 " + ThreadNum.getNum());
    }

}


class ThreadTwo extends Thread {
    
public void run() {
        System.out.println(
"Thread2 " + ThreadNum.getNum());
    }

}


class ThreadNum {
    
private static int num = 0;
    
private static ThreadLocal<Integer> tl = new ThreadLocal<Integer>() {
        
protected synchronized Integer initialValue() {
            
return new Integer(num++);
        }

    }
;

    
public static int getNum() {
        
return tl.get().intValue();
    }

}

输出如下:
main 0
Thread1 1
Thread2 2

posted on 2009-05-20 21:28 俊星 阅读(139) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: