什么是线程封闭: 数据被封闭到各自的线程中,从而避免使用同步的技术。这个概念称作线程封闭。 为什么提出线程封闭: 多线程访问共享可变的数据是,涉及到了数据同步问题。但是并不是所有的时候都需要共享数据。所以提出了线程封闭的概念。 Java中线程封闭的具体实现有:ThreadLocal、栈封闭。 1:T ...
分类:
编程语言 时间:
2020-03-30 21:45:12
阅读次数:
85
hashmap、hashtable、concurrenthashmap(hash三件套,说了10分钟) hash扩容。给定一个长度为1000的hashmap,存放900个元素会不会扩容、750个呢? ThreadLocal 原理 线程池原理(参数、执行过程、拒绝策略) 写了一个BlockingQue ...
分类:
编程语言 时间:
2020-03-30 16:31:54
阅读次数:
90
"阻塞线程关键字" "java内存模型" "单利模式" "threadLocal" 阻塞线程关键字 线程有几种状态? 新建状态、就绪状态、运行状态、阻塞状态、死亡状态 使线程进入阻塞状态的几种方式? wait、yield、sleep、join、interrupt wait 使当前线程让出锁,进入阻塞 ...
分类:
编程语言 时间:
2020-03-28 10:39:05
阅读次数:
81
ThreadLocal和InheritableThreadLocal的使用 ...
分类:
编程语言 时间:
2020-03-24 18:51:49
阅读次数:
61
一 类结构 主要是set(T), get(), remove()方法 二 TheadLocal是什么时候创建的 threadLocal的初始化, lazy creating, 用到的时候(get 或者 set)再初始化 void createMap(Thread t, T firstValue) { ...
分类:
其他好文 时间:
2020-03-22 18:15:10
阅读次数:
110
有时候我们需要某个请求下的所有的traceId都是一致的,以获得统一解析的日志文件。便于排查问题。 为每一个请求分配同一个traceId据我所知有两种方式:MDC和ThreadLocal,MDC的内部实现也是ThreadLocal,下面分别介绍这两种方式。 一、MDC MDC(Mapped Diag ...
分类:
其他好文 时间:
2020-03-19 13:53:40
阅读次数:
188
原创codeAB 最后发布于2015-01-12 16:22:28 阅读数 8137 收藏展开#coding=utf-8import threading# 创建全局ThreadLocal对象:localVal = threading.local()localVal.val = "Main-Threa ...
分类:
编程语言 时间:
2020-03-15 11:32:54
阅读次数:
66
volatile关键字和ThreadLocal 1、并发编程中的三个概念 原子性:一个或多个操作。要么全部执行完成并且执行过程不会被打断,要么不执行。最常见的例子:i++/i--操作。不是原子性操作,如果不做好同步性就容易造成线程安全问题。 可见性:多个线程访问同一个变量,一个线程改变了这个变量的值 ...
分类:
编程语言 时间:
2020-03-11 15:29:22
阅读次数:
69
使用场景假设我们有一个数据库连接管理类:classConnectionManager{privatestaticConnectionconnect=null;privatestaticStringurl=System.getProperty("URL");publicstaticConnectionopenConnection(){if(connect==null){try{connect=Dri
分类:
其他好文 时间:
2020-03-11 01:00:06
阅读次数:
53
ThreadLocal 其本质上就是避免共享 正所谓是没有共享,就没有伤害.下面来看看ThreadLocal 的源码,Thread类中包含了一个threadLocals变量,它是一种ThreadLocal.ThreadLocalMap类型,该类型定义在ThreadLocal类里面,也就是一个内部类。 ...
分类:
编程语言 时间:
2020-03-10 01:24:58
阅读次数:
66