黑马程序员_java中的ThreadLocal

-----------android培训java培训、java学习型技术博客、期待与您交流!----------

ThreadLocal叫做线程局部变量,目的在于封装一个线程范围内的共享数据。其实,ThreadLocal模拟的是一个Map类,它的键值存的是当前线程,它的值则是存的当前线程的数据,那么不同的线程所取的数据当然不同。我们用ThreadLocal来做一个实际对象的时候,它自动的存储当前的线程,当我们存储一个值的时候。那么,当我们需要创建一个线程的共享数据的时候,数据量不一定很小,所以我们需要用一个类来封装我们的数据,这里就有一种优雅的方式,将ThreadLocal封装在我们存储数据的类中,作为类的使用者,我们不用关心怎么实现了线程范围类的数据共享的实现细节,我们只需要知道我们用这个类存储的数据它是线程范围类的共享数据即可。这样一种的思想主要用于客服访问的服务器中,当每个客服访问一个服务器的时候,服务器就相当于new出了一个新的线程为客户服务,当然这个线程内的数据可以共享,但是不能被其他线程所操作。

对于事件的监听机制,在java中有大量的运用,其实在学习单片机的时候感觉也有类似的思想,比如:单片机的中断的方式有很多种,现在单片机的中断都采用类似的监听机制来监控中断,当中断借口有变化时,中断借口会发出一个电平信号来通知cpu,而并非cpu时刻来监听着中断接口。在GUI一章中,最为重要的也是事件监听机制,应为不同的图形可以有不同的监听器来监听这些图形上的不同动作,当图形上有动作发生的时候,那么就会有相应的监听事件对象发送给监听器类的对象上。对于Runtime这个类也有类似的机制,就是当虚拟机停止工作的时候,会产生一个Runtime本身的一个实例,这个时候可以用这个实例调用它的AddShutdownHookThread hook)方法来处理在虚拟机结束的时候,安排给虚拟机干的一些代码写入到Thread hook中即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThreadLocalJava的一个类,用于在多线程环境下实现线程本地变量。它提供了一种线程级别的数据隔离机制,使得每个线程都可以拥有自己独立的变量副本,互不干扰。每个线程都可以通过ThreadLocal对象来访问自己的变量副本,而不会影响其他线程的副本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [JavaThreadLocal详解](https://blog.csdn.net/licux/article/details/117292777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [JavaThreadLocal详解(一篇就够了)](https://blog.csdn.net/qq_38721537/article/details/124565091)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [JavaThreadLocal详解](https://blog.csdn.net/qq_53729147/article/details/127967751)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值