jdk src 学习 Threadlocal
2023-09-14 08:57:00 时间
示例:
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<Integer> tl = new ThreadLocal<Integer>() { 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 的作用在于,将某些变量绑定到线程中去, 提供一种,线程安全的方式操作某些变量。
相关文章
- spring学习笔记(6)AOP前夕[1]jdk动态代理实例解析
- 在虚拟机下安装hadoop集成环境(centos7+hadoop-2.6.4+jdk-7u79)
- JAVA学习(二):JDK介绍及其结构、用途
- mac OS X下配置jdk环境变量
- java jdk 历史版本下载
- JDK Mac 安装
- java语言学习003_开发环境基础配置和安装(jdk,jre,eclipse&myeclipse)
- ftp sun jdk自带
- 《深入理解高并发编程:JDK核心技术》-冰河新书上市
- 012-JDK可视化监控工具-jstack
- 程序员自己编写的类和JDK类是一种合作关系
- linux安装jdk-centos7系统:
- 编译Android指定JDK/OpenJdk版本(十四)