博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdk src 学习 Threadlocal
阅读量:6686 次
发布时间:2019-06-25

本文共 1389 字,大约阅读时间需要 4 分钟。

 示例:

import java.io.Serializable;public class TestThreadLocal implements Serializable {    /**     *      */    private static final long serialVersionUID = -1279921928557717157L;    int age;    public static void main(String[] argv) throws Exception {        TestThreadLocal tt = new TestThreadLocal();        Testthread t1 = new Testthread(tt);        Testthread t2 = new Testthread(tt);        Testthread t3 = new Testthread(tt);        t1.start();        t2.start();        t3.start();    }     static int ii = 0;//    static Integer ii = 0;    // public Integer getIi() {
// 这个方式不行 // ii ++; // return ii; // } public Integer getIi() { // tl.set( ii ++ ); // 这个方式也不行, 必须要下面的方式。 tl.set(tl.get() + 1); return tl.get(); } /** * { } 内部的初始化是必须的。 否则出现 nullpointexception */ ThreadLocal
tl = new ThreadLocal
() { protected Integer initialValue() { ii = 0; return ii; }; };}class Testthread extends Thread { TestThreadLocal ttl; public Testthread(TestThreadLocal ttl) { this.ttl = ttl; } @Override public void run() { String name2 = Thread.currentThread().getName(); for (int i = 0; i < 3; i++) { System.out.println(" name " + name2 + ttl.getIi()); } }}

 

ThreadLocal 的作用在于,将某些变量绑定到线程中去, 提供一种,线程安全的方式操作某些变量。

转载地址:http://hjhao.baihongyu.com/

你可能感兴趣的文章
限制文本控件输入数据格式
查看>>
1058. 选择题(20)
查看>>
Andriod 第五课----图形界面
查看>>
基于sklearn的常用分类任务指标Python实现
查看>>
一些关于Hibernate延迟加载的误区
查看>>
设计模式之缺省适配模式
查看>>
qsort函数辅助函数compare函数的编写
查看>>
项目选题报告答辩总结模板
查看>>
uva 10972 RevolC FaeLoN
查看>>
zookeeper实现队列_Queue
查看>>
转 delete 和 delete []的真正区别
查看>>
outline
查看>>
javaScript引入方式
查看>>
[摘录]验证视图MAC失败 Validation of ViewState MAC Failed
查看>>
asp.net mvc生命周期学习
查看>>
C++ explicit关键字避免隐式转换
查看>>
HDU 1212 Big Number 【大数求余模拟】
查看>>
静态类(static)与java值传递、引用传递小测
查看>>
小怪受击身体变红特效代码
查看>>
C语言中函数strcpy ,strncpy ,strlcpy的用法
查看>>