当前位置: 首页 > news >正文

广州seo网站推广wordpress主题无法发布

广州seo网站推广,wordpress主题无法发布,外贸网站建设需,山东省最新消息今天ThreadLocal 什么是ThreadLocal? ThreadLocal 是线程本地变量类,在多线程并行执行过程中,将变量存储在ThreadLocal中,每个线程中都有独立的变量,因此不会出现线程安全问题。 应用举例 解决线程安全问题:例…

ThreadLocal

  1. 什么是ThreadLocal?
    ThreadLocal 是线程本地变量类,在多线程并行执行过程中,将变量存储在ThreadLocal中,每个线程中都有独立的变量,因此不会出现线程安全问题。

  2. 应用举例
    解决线程安全问题:例如每个线程都绑定一个数据库连接,避免多个线程访问同一个数据库连接:SqlSession
    跨函数参数传递:同一个线程,跨类,跨方法传递参数的时候可以使用ThreadLocal,每个线程绑定一个Token/Session

  3. 关于ThreadLocal
    1)一个线程只能有一个ThreadLocal吗?
    首先我们看到Thread里面,有一个ThreadLocalMap,可以看到再java1.8之后,每个线程都有自己的ThreadLocalMap
    在这里插入图片描述
    而这个ThreadLocalMap 里面可以明显的看到是一个数组用于存储多个Entry
    在这里插入图片描述
    我们看ThreadLocal的源码可以发现最终是调用ThreadLocalMap里面的方法:
    在这里插入图片描述
    createMap方法:
    在这里插入图片描述
    ThreadLocalMap里面的set方法:
    在这里插入图片描述
    关于ThreadLocalMap的哈希探测可以参考此文
    这篇文章写的非常的详细,更多的展示了源码的细节

  1. Entry 的 Key 为什么需要使用弱引用?如果是强引用会造成什么问题?
    因为弱引用在GC回收时会被回收,如果使用强引用,我们某个方法里面创建了一个ThreadLocal,我们肯定使用了new关键字,这个时候是强引用,如果这个方法结束,对于这个方法的引用应该解除并且回收掉,如果我们Entry里面使用强引用就会造成内存泄漏,这个已经ThreadLocal已经用不到了,但是由于key是强引用导致始终无法被回收掉。这样的话有资源一直回收不掉,堆积后最终就会OOM内存溢出。
  1. 使用案例(持续补充)
    1)传递共享参数
@Setter
public class DemoTask {private ThreadLocal threadLocal;public void execute() {// 对threadLoca的变量进行操作,只要是同一个ThreadLocal 一定是相同的值System.out.println(JSONUtil.toJsonStr(threadLocal.get()));}
}
public class ThreadLocalDemo {static ThreadLocal<Map<String, Object>> threadLocal = new ThreadLocal();public void init() {threadLocal.set(new HashMap<String,Object>(){{put(  "k1", 1);put( "k2", "v");}});}public void passParms() {DemoTask demoTask = new DemoTask();demoTask.setThreadLocal(threadLocal);demoTask.execute();System.out.println(JSONUtil.toJsonStr(threadLocal.get()));}public static void main(String[] args) {ThreadLocalDemo threadDemo = new ThreadLocalDemo();threadDemo.init();threadDemo.passParms();}
}
http://www.yayakq.cn/news/107962/

相关文章:

  • 福田网站建设福田网站设计抚州哪里有做企业网站的公司
  • 网站建设及网络营销搭建公司网站教程
  • 美颂雅庭装饰公司电话某网站搜索引擎优化
  • 滨州建设工程备案网站珠海建站论坛
  • 青浦专业网站建设wordpress模板安装教程
  • 协会网站建设方案书黑龙江新闻法治频道节目回放
  • 品牌创意型网站建设有一个wordpress站点
  • 备案期间网站能打开吗网站设计规划建设的目的
  • 建设网站过水淄博网站排名
  • 新思域设计公司网站建设如何自己制造软件
  • 网站开发有什么职位厦门做网站多
  • 技能训练企业网站建设可行性分析婴幼儿用品销售网站开发报告
  • 网站关键词和网页关键词的样本帮忙做ppt赚钱的网站
  • 佛山市外贸网站建设公司钢铁网站模板
  • 网页设计与制作建立站点实践报告iis7.5 添加网站
  • 做智能网站系统下载地址如何用jsp做简单的网站
  • 云畅网站建设如何用书签 做网站接口
  • 网站的框架快速搭建个人网站
  • 用asp.net做企业网站钓鱼网站制作的报告
  • ppt模板有哪些网站制作ppt的软件是什么
  • 没有网站做cpa怎么赚钱公司网站建设制作价格
  • 网站建设与优化推广的话术备案服务网站
  • 网站后台管理系统一般用户名是什么视觉设计专业就业前景
  • 网站建设就选域名服务器的作用
  • 网站建设制作方案多个域名指向同一个网站
  • 知乎做笔记的网站wordpress微信评论
  • 怎么分辨网站是不是h5seo外包收费
  • 织梦做的网站进不去页面跳转不了怎么回事
  • 百度站长快速收录汕头网络推广哪里找
  • 网站建设大概费用扬州市网站建设