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

做侵权视频网站/seo评测论坛

做侵权视频网站,seo评测论坛,做网站主机选择,马尼拉做网站类ThreadLoal 的主要作用是将数据放入当前线程的map中,这个map是thread的实例变量。类ThreadLoal 自己不会进行管理,不存储任何数据,它只是数据和map之间的桥梁。用于将数据放入map中。执行流程如下 执行后,每个线程中的map都有自…

类ThreadLoal 的主要作用是将数据放入当前线程的map中,这个map是thread的实例变量。类ThreadLoal 自己不会进行管理,不存储任何数据,它只是数据和map之间的桥梁。用于将数据放入map中。执行流程如下

在这里插入图片描述

执行后,每个线程中的map都有自己的数据,key为ThreadLocaL对象,value为存储的值。每个thread中map中的值只对当前线程可见,其他线程不可以访问。当前线程销毁,map也随之销毁,map中的值如果没有被引用、没有被使用,则GC随时收回。

由于key不可以重复,所有一个ThreadLocal对象对应一个value值,结构如下

在这里插入图片描述

我们在使用时通常 :private static ThreadLocal threadLocal = new ThreadLocal(); 用 private static 修饰

每个线程Thread都有自己私有的ThreadLocalMap对象属性

 /* ThreadLocal values pertaining to this thread. This map is maintained* by the ThreadLocal class. */ThreadLocal.ThreadLocalMap threadLocals = null;

ThreadLocal类中的get()方法

public T get() {Thread t = Thread.currentThread();//获取当前的线程ThreadLocalMap map = getMap(t);//获取当前线程私有的ThreadLocalMap实例if (map != null) {ThreadLocalMap.Entry e = map.getEntry(this);//内部维护着entry对象if (e != null) {//不为空,说明已经存在实例@SuppressWarnings("unchecked")T result = (T)e.value;return result;//返回value值}}return setInitialValue();//为空,就设置初始化值}
 ThreadLocalMap getMap(Thread t) {return t.threadLocals;//根据当前线程,返回私有的ThreadLocalMap实例}
 private T setInitialValue() {T value = initialValue();Thread t = Thread.currentThread();ThreadLocalMap map = getMap(t);if (map != null)map.set(this, value);elsecreateMap(t, value);return value;}

以protected修饰,方便我们重写、设置初始值

protected T initialValue() {return null;}
public void set(T value) {Thread t = Thread.currentThread();ThreadLocalMap map = getMap(t);if (map != null)map.set(this, value);//直接将当前的value赋值到私有的ThreadLocalMap中elsecreateMap(t, value);//第一次使用,创建map}

那既然thread中有ThreadLocal.ThreadLocalMap threadLocals = null; 那为什么不直接存取数据呢?

ThreadLocal.ThreadLocalMap threadLocals = null;//默认访问时包级别,外部无法直接访问

但是ThreadLocal 和 Thread 是在同一包 java.long ,所以可以作为桥梁间接访问

ThreadLocal 适用于每个线程需要自己独立的实例且该实例需要在多个方法中被使用,也即变量在线程间隔离而在方法或类间共享的场景。

http://www.lbrq.cn/news/2339659.html

相关文章:

  • 网络教育做的好的网站/网站推广的优化
  • 移动网站模板/免费个人网站源码
  • 普通电脑可以做网站服务器吗/客源引流推广app
  • 上海网站建设企业排名/360推广联盟
  • 西安做网站公司报价/域名注册网站哪个好
  • 网站免费seo/seo代运营
  • 医美三方网站怎么做/免费拓客软件
  • 网站建设结项报告/免费文件外链网站
  • 河南最新疫情公布/手机优化助手
  • 网站规划书 确定网站建设目的/网站下载免费软件
  • 辽宁网站开发/引擎seo如何优化
  • 商城微信网站开发/郑州网站公司哪家好
  • 优质外贸网站/如何给公司网站做推广
  • 起点签约的书网站给做封面吗/东莞最新消息今天
  • 做家电网站/seo项目经理
  • 网站建设需求模板/绍兴seo排名外包
  • 鹰潭公司做网站/推广怎么做才可以赚钱
  • 网站的面包屑怎么做的/可以推广发广告的app
  • 做产品网站费用吗/广州seo搜索
  • 怎么做热血江湖sf网站/谷歌seo新规则
  • 网站建设哪家更专业/社区营销推广活动方案
  • 企业官网怎么和别的网站做链接/seo培训学院官网
  • 个人网站只能用作博客/短视频推广平台
  • 网站建设资料需要公司提交的吗/优化大师下载电脑版
  • wordpress好看的页面/长春做网络优化的公司
  • 做免费的视频网站可以赚钱吗/seo快速排名软件价格
  • 免费申请网站 主机 空间/百度站长之家
  • 吉林省 网站建设/seo免费培训教程
  • 系部 网站建设方案/友情链接的检查方法
  • 网站设计 价格/买卖链接网站
  • 复习笔记 39
  • JAVA学习笔记 使用notepad++开发JAVA-003
  • 判断端口处于监听状态的方法
  • 实战--Tlias教学管理系统(部门管理)
  • 鹧鸪云:别墅光储项目方案设计的最终选择
  • 各种开发语言主要语法对比