ThreadLocal的第二种用法 part2
package threadlocal;/*** 描述: 演示ThreadLocal用法2:避免传递参数的麻烦*/
public class ThreadLocalNormalUsage06 {public static void main(String[] args) {new Service1().process("");}
}class Service1 {public void process(String name) {User user = new User("超哥");UserContextHolder.holder.set(user);new Service2().process();}
}class Service2 {public void process() {User user = UserContextHolder.holder.get();ThreadSafeFormatter.dateFormatThreadLocal.get();System.out.println("Service2拿到用户名:" + user.name);new Service3().process();}
}class Service3 {public void process() {User user = UserContextHolder.holder.get();System.out.println("Service3拿到用户名:" + user.name);UserContextHolder.holder.remove();}
}class UserContextHolder {public static ThreadLocal<User> holder = new ThreadLocal<>();}class User {String name;public User(String name) {this.name = name;}
}
ThreadLocal的第二种用法 part2相关推荐
- ThreadLocal的第二种用法 part1
- 2022-04-12 西安 javaSE(06)匿名对象、this第二种用法、static
匿名对象 匿名对象就是没有名字的对象,只在堆内存中开辟空间,而不存在栈内存的引用. //普通对象调用方法 Student s=new Student(); method(s);//匿名对象调用方法 / ...
- ThreadLocal的两种用法
典型场景一: 每个线程需要一个独享的对象(通常是工具类,典型的类有 SimpleDateFormat 和 Random) 代码示例: public class ThreadLocalNormalUsa ...
- ThreadLocal的两种用法总结
ThreadLocal的作用 ThreadLocal是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,数据存储以后,只有在指定的线程中可以获取到存储的数据,对于其他线程来说则无法取到数据. ...
- vuex模块化 怎么引用state_[Vuex系列] - 细说state的几种用法
state 存放的是一个对象,存放了全部的应用层级的状态,主要是存放我们日常使用的组件之间传递的变量. 我们今天重点讲解下state的几种用法,至于如何从头开始创建Vuex项目,请看我写的第一个文章. ...
- Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...
- Java提高篇 —— Java关键字之final的几种用法
一.前言 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下 ...
- Python扩展库numpy中where()函数的三种用法
第一种用法:只给where()函数传递一个数组作为参数,返回其中非0元素的下标. 第二种用法:给where()函数传递一个包含True/False值的数组,返回该数组中True值的下标,结合numpy ...
- final关键字_夯实基础:Java中final关键字的几种用法
导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...
最新文章
- CAP只能三选二,可以选CA吗?
- Shell脚本之反引号【``】和 $()
- python image convert_从python运行imagemagick convert(控制台应用程序)
- verilog HDL 编码风格
- 《音乐达人秀:Adobe Audition实战200例》——实例11 录制任意音量音乐
- oci连接mysql_OCILIB 连接Oracle数据库——插入数据
- thinkphp-无限分类下根据任意部门获取顶级部门ID
- 超市收银机属于通用计算机,我是一名刚入超市做收银的,我录入货品后微信收钱之后没有在超市电脑上按确定导入账目导致超市系统上多出来钱这改正过来会很难吗?...
- java 线程的理解_Java多线程基础理解
- 《Perl语言入门》读书笔记(一)Perl简介
- cad转图片格式后不清晰怎么办?三步即可解决
- 各种分类算法优缺点比较
- 如何把平板(pad)作为笔记本电脑的分屏详细教程
- BeanUtils.copyProperties()复制对象时改变属性类型
- 云服务器显示异地登录,云服务器异地登录异常
- linux无法解析域名
- 最小二乘法和岭回归区别
- H5性能测试(优化建议)
- 程序员有必要参加软考吗?软考有什么用?
- 反射、io流、正则、网编、MySql、JavaWeb、Android等等等等等等等等等等等等等等等等等~~~~~~