`
xy_z487
  • 浏览: 277880 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TreadLocal 跟老同学的聊天记录

阅读更多

<!--StartFragment -->

交谈中请勿轻信汇款、中奖信息,勿轻易拨打陌生电话。

 [一球成名!]  21:42:49
         
    面的效果不好啊        
[一球成名!]  21:43:00
         
    有点遗憾
吴万里  21:43:01
         
    为什么? 技术 还是 英语?
吴万里  21:43:06
         
    英语?
[一球成名!]  21:43:09
         
    技术
吴万里  21:43:13
         
    什么技术?
[一球成名!]  21:43:51
         
    主要问我有没有去了解开源
[一球成名!]  21:44:18
         
    问框架的设计
吴万里  21:44:36
         
    你怎么说的?
[一球成名!]  21:45:10
         
    我只知道单例模式,他问框架里一个核心类为什么设计成单利的
[一球成名!]  21:45:14
         
    我说不知道
吴万里  21:45:30
         
    ??
吴万里  21:45:33
         
    单利?
[一球成名!]  21:45:42
         
    反正跟多线成有关
吴万里  21:45:48
         
    考 
[一球成名!]  21:45:50
         
    单例
吴万里  21:45:58
         
    原因 不就一个么
吴万里  21:46:04
         
    系统不能重入阿
[一球成名!]  21:46:12
         
    什么?
[一球成名!]  21:46:21
         
    不能重入是什么意思?
吴万里  21:46:23
         
    核心数据不能多线程共同访问
吴万里  21:46:48
         
    核心数据如果 有多个线程访问 
吴万里  21:47:03
         
    就需要先解决数据同步问题阿
吴万里  21:47:12
         
    一般 这个是最主要的
[一球成名!]  21:47:36
         
    我觉得这样解释不够充分
[一球成名!]  21:47:44
         
    哦
[一球成名!]  21:47:57
         
    他问的是theadlocal
[一球成名!]  21:47:59
         
    这个
吴万里  21:48:09
         
    这个是什么没见过
[一球成名!]  21:48:23
         
    ThreadLocal
[一球成名!]  21:48:29
         
    java的
[一球成名!]  21:48:56
         
    这个东西很不错,可我没仔细去研究
吴万里  21:49:03
         
    TheadLocal包含了一组get(),set(Object)方法,可以获得当前线程的放进去的对象。

    ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 
    另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,这个对象的创建并不是通过ThreadLocal.set()来实现的,set()并不会做什么对象的拷贝,而是每个线程之前已经创建好的对象。通 过ThreadLocal.set()将这个新创建的对象的引用以当前线程为key,保存TheadLocal的一


吴万里  21:49:14
         
    线程池管理 像
[一球成名!]  21:49:42
         
    我反正不太清楚
[一球成名!]  21:50:02
         
    他反正是类似map存数据的
吴万里  21:50:12
         
    恩
吴万里  21:50:33
         
    ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。

[一球成名!]  21:51:21
         
    map的key是线成的id,多线成情况下,同过id获得不同对象操作的那个value,不会冲突的问题吧
[一球成名!]  21:51:27
         
    不太确切
吴万里  21:51:46
         
    有点类似吧
吴万里  21:51:56
         
    我还没找到 这个对象存在的原因
[一球成名!]  21:52:16
         
    但为什么用,什么情况下用我还是不清楚,所以不会用
[一球成名!]  21:52:28
         
    一般工厂类会用道
[一球成名!]  21:52:56
         
    所以,这个东西跟单例扯上关系了
吴万里  21:52:58
         
    ThreadLocal类为于java.lang包中,它是java中一种较为特殊的线程绑定机制,会为每个线程维护一个私有的变量空间。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM为每个运行的线程绑定了私有的本地实例化存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。实际上,其实现原理是在JVM中维护一个Map,这个Map的key就是当前的线程对象,而value则是线程通过ThreadLocal.set方法保存的对象实例。当线程调用ThreadLocal.get方法时,ThreadLocal会根据当前线程对象的引用,取出Map中对应的对象返回。这样,ThreadLocal通过以各个线程对象的引用作为区分,从而将不同线程的变量隔离开来。
吴万里  21:53:13
         
    这个解释比较确切店
[一球成名!]  21:53:32
         
    恩
[一球成名!]  21:53:48
         
    但是为什么怎么跟单利扯上关系的
吴万里  21:54:11
         
    他原题怎么说的
[一球成名!]  21:54:16

[一球成名!]  21:54:25
         
    似乎我回忆起一点点
[一球成名!]  21:55:24
         
    通常:一个类是多例的,在多线成下,用这个类存数据。

[一球成名!]  21:55:37
         
    1个线成1个对象
[一球成名!]  21:56:00
         
    如果是单利的,多线成下可能造成数据的相互修改
[一球成名!]  21:56:26
         
    所以用threadLocal就解决了这个问题
[一球成名!]  21:57:06
         
    单个实例,但可以保存不同线成私有的数据
吴万里  21:58:22
         
    那他的问题 具体 怎么说的呢
吴万里  21:58:38
         
    就是说 为什么单利的时候为什么用threadlocal ??
[一球成名!]  21:58:52
         
    struts的ActionContext为什么使用ThreadLocal
[一球成名!]  21:59:19
         
    struts2的Action就是单例的
吴万里  21:59:48
         
    哦 
吴万里  21:59:58
         
    还真不喜欢这些东西
[一球成名!]  22:00:48
         
    没看过源代码,不过已经感觉ActionContext使用ThreadLocal来管理Action实例的
[一球成名!]  22:01:06
         
    为什么不喜欢?
吴万里  22:01:51
         
    不为什么
吴万里  22:01:55
         
    就是不喜欢 
吴万里  22:02:07
         
    现在 我也不知道 自己该干什么了
[一球成名!]  22:02:11
         
    我觉得很好
[一球成名!]  22:02:36
         
    越是想法多,越是不知道干什么,哈哈
[一球成名!]  22:03:00
         
    有时候回烦的头疼
[一球成名!]  22:03:36
         
    你小子现在抽烟吗?
吴万里  22:04:41
         
    没钱抽  哈哈
吴万里  22:04:48
         
    不想抽 不喜欢

吴万里  22:05:59
         
    想跳出这个怪圈 
[一球成名!]  22:06:10
         
    呵呵,思考问题不抽烟,不像男人啊,总不能嘴里叼个棒棒糖吧
吴万里  22:06:24
         
    却 感觉  不知道从那里出去
吴万里  22:06:27
         
    出去做什么
[一球成名!]  22:06:37
         
    哎呀,跟你一样
吴万里  22:06:41
         
    不做那种面子工程
[一球成名!]  22:07:12
         
    不容易啊
[一球成名!]  22:07:31
         
    到了这个年龄,考虑好多事情
吴万里  22:07:50
         
    可能吧
吴万里  22:08:03
         
    不过 我也准备 看看 招聘
吴万里  22:08:13
         
    看看能不能找个 项目经理的角色
吴万里  22:08:28
         
    或者 银行、外企的SE角色
[一球成名!]  22:08:48
         
    挺烦的,真的,压力大。 感觉。想要个孩子
[一球成名!]  22:09:00
         
    奇怪吧
吴万里  22:09:10
         
    想有个念想?
吴万里  22:09:22
         
    可以阿 你身边那么多美女 搞定阿
[一球成名!]  22:09:32
         
    不知道呢,神奇的想法
吴万里  22:09:50
         
    wc
[一球成名!]  22:09:58
         
    哈哈
[一球成名!]  22:11:05
         
    兄弟,到什么年龄做什么事,我觉得还是不要违背的好,要有结婚的想法啊
[一球成名!]  22:11:21
         
    不能耽误了
[一球成名!]  22:11:58
         
    2个人后,你的思考会有针对性,目标性吧
我猜的
[一球成名!]  22:13:31
         
    跟你一样我也想项目经理呢,自己可以脱离出来
[一球成名!]  22:13:43
         
    要么工资拿高一点
分享到:
评论

相关推荐

    【Java设计模式】你对单例模式了解多少,一文深入探究

    不让第二步和第三步重排序-DoubleCheck方案二:基于类初始化-静态内部类饿汉式饿汉式与懒汉式最大区别序列化破坏单例模式原理枚举单例基于容器的单例模式基于TreadLocal线程单例源码分析-JDK源码分析-spring其他相关...

    高级java笔试题-ShiftJava:学到头秃的Java的小笔记

    并发:线程基础、JMM、AQS、CAS、锁与线程安全(Synchronized、ReentrantLock)、JUC、线程池、定时任务、TreadLocal 等。 4. Java8/IO/其他 Java8:Lambda、流 Stream 等。 IO:文件操作、IO流、网络操作等(NIO 放...

    spring boot集成spring security前后分离项目分布式缓存认证流程最佳实现

    spring boot集成spring security前后分离项目分布式缓存认证流程最佳实现

    【创新未发表】Matlab实现蛇群优化算法SO-Kmean-Transformer-BiLSTM负荷预测算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【创新未发表】Matlab实现引力搜索优化算法GSA-GRU实现风电数据预测算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【java毕业设计】医院固定资产系统源码(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse

    SAP 各模块常用BAPI

    SAP 各模块常用BAPI 简单例子

    暴风电视刷机数据 58R5 屏V580DJ4-QE1 机编60000MM0U00 屏参30173403 V1.0.42版本

    2G+16G主程序物料号11173101 AML-962H机芯升级步骤 本地升级: 1、将2G+xG_update.zip重命名update.zip,拷贝至U盘,插入电视USB,打开电视进入设置 2、选择本地升级,升级完毕后电视会重启,操作过程中切勿断电关机 升级完成后可以在系统设置——本机信息——查询软件版本 强制升级: 1、解压强制升级脚本recovery.img与factory_update_param.aml,加上update.zip三个文件拷贝至U盘根目录,插入电视USB 2、插拔下电源,按遥控器待机键后快速不停点按遥控器右键5-10下触发主板识别U盘软件进行升级 3、升级完毕后电视会重启,操作过程中切勿断电关机 串口升级 1、将三个升级软件拷贝至U盘根目录下,然后插入电视的USB接口 2、电视开启的时候按住电脑键盘Enter回车键出现txl_p392_v1#时,输入run update敲回车,系统识别U盘软件进行升级 如未成功先确认输入指令是否正常,reboot重新启动再试 若还是无法升级可能是硬件存储系统的EMMC模块损坏,请更换主板

    【光伏预测】基于白冠鸡优化算法COOT优化高斯过程回归GPR实现光伏多输入单输出预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    编译原理课程实践项目-由Java语言实现C语言子集的编译器(包括词法分析器和语法分析器)+项目源码+文档说明+实验报告

    <项目介绍> - 《编译原理》课程实践项目,一个C语言子集的编译器,包括词法分析器和语法分析器,由Java语言实现。 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    【创新未发表】Matlab实现雪融优化算法SAO-Kmean-Transformer-BiLSTM负荷预测算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    PEP8 风格指南,PYTHON基础

    python PEP8 风格指南,PYTHON基础

    【上交所-2024研报】精达股份2024年第三季度报告.pdf

    行业研究报告、行业调查报告、研报

    基于java+ssm+vue+mysql的疫情期间高校人员管理系统 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat

    letsvpn-latest (1).exe

    letsvpn-latest (1).exe

    基于.net健身房管理系统.zip

    net

    rabbitmq4.0.4.exe

    rabbitmq4.0.4.exe

    【java毕业设计】外卖点餐系统源码(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse

    本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)

    本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计-自然语言处理NLP项目-中文文本分类实战垃圾短信识别(源码+文档说明)本科毕业设计

    weixin049基于微信小程序校园外卖平台设计与实现+ssm后端毕业源码案例设计.zip

    weixin049基于微信小程序校园外卖平台设计与实现+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

Global site tag (gtag.js) - Google Analytics