博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThreadLocal实现线程范围内共享
阅读量:5345 次
发布时间:2019-06-15

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

  线程范围内共享,即是对相同一段代码,在不同的模块调用时使用一份数据,而在另外一个线程中又使用另外一份数据。

  ThreadLocal使用set方法为一个新的线程增加一条记录,key是各自的线程,value为set进去的值,也就是共享的值。ThreadLocal.clear()清空记录。

  JAVA代码

public class TraditionalThreadSocpeShare {    private static Map
threadLocal = new HashMap
(); public static void main(String[] args) { for (int i = 0; i < 2; i++) { new Thread(new Runnable() { public void run() { int data = new Random().nextInt(); threadLocal.put(Thread.currentThread(), data); System.out.println(Thread.currentThread().getName() + " data value " + data); new A().get(); new B().get(); } }).start(); } } static class A { public void get() { int data = threadLocal.get(Thread.currentThread()); System.out.println("A from " + Thread.currentThread().getName() + " data value " + data); } } static class B { public void get() { int data = threadLocal.get(Thread.currentThread()); System.out.println("B from " + Thread.currentThread().getName() + " data value " + data); } }}

 

转载于:https://www.cnblogs.com/duwenlei/p/5091903.html

你可能感兴趣的文章
2018/12/18 JS会像Linux一样改变编程
查看>>
php环境搭建脚本
查看>>
FTP主动模式与被动模式说明
查看>>
php 编译常见错误
查看>>
MES架构
查看>>
【Python3 爬虫】15_Fiddler抓包分析
查看>>
高性能JavaScript-JS脚本加载与执行对性能的影响
查看>>
关于标签之间因为换行等问题造成的空白间距问题处理
查看>>
hdu 2767(tarjan)
查看>>
sklearn之分类模型混淆矩阵和分类报告
查看>>
MySQL各存储引擎
查看>>
项目--简单导出CSV文件
查看>>
Oracle session相关数据字典(一)
查看>>
织梦文章内容提取第一张或者多张图片输出
查看>>
C#用正则表达式 获取网页源代码标签的属性或值
查看>>
BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡(贪心)
查看>>
WCF(一) 简单的认知
查看>>
[MFC][DShow]简单例子
查看>>
降序排列
查看>>
十一、类型转换
查看>>