搜索结果
查询Tags标签: ThreadLocal,共有 168条记录-
深入理解 Netty FastThreadLocal
作者:vivo 互联网服务器团队- Jiang Zhu本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码,由浅入深理解Netty FastThreadLocal。 一、前言 最近在学习Netty相关的知识,在看到Netty FastThreadLocal章节…
2023/10/19 14:32:58 人评论 次浏览 -
jdk线程池ThreadPoolExecutor优雅停止原理解析
jdk线程池工作原理解析(二)本篇博客是jdk线程池ThreadPoolExecutor工作原理解析系列博客的第二篇,在第一篇博客中从源码层面分析了ThreadPoolExecutor在RUNNING状态下处理任务的核心逻辑,而在这篇博客中将会详细讲解jdk线程池ThreadPoolExecutor优雅停止的实现原理。Thr…
2022/11/18 23:23:53 人评论 次浏览 -
支持JDK19虚拟线程的web框架,之五(终篇):兴风作浪的ThreadLocal
关于ThreadLocal既然提到了线程,自然绕不开ThreadLocal类,它提供了线程本地变量,此变量和一般的变量不同。通过get & set 方法,每个线程可以获取到自己独立的变量。这个变量实例通常是私有且静态的,可以存储与线程相关的信息,如产品id、事务id等。虚拟线程中,T…
2022/11/15 5:23:57 人评论 次浏览 -
ThreadLocal源码学习笔记
系列文章目录和关于我 一丶ThreadLocal结构每一个Thread对象都有一个名为threadLocals类型为ThreadLocal.ThreadLocalMap的属性,ThreadLocal.ThreadLocalMap对象内部存在一个Entry数组,其中存储的Entry对象key是ThreadLocal,value便是我们绑定在线程上的值。ThreadLocal…
2022/9/13 14:16:52 人评论 次浏览 -
java 线程池 学习记录
线程池构造函数参数有哪些核心线程池 最大线程数空闲非核心线程存活时长 空闲非核心线程存活时长单位阻塞队列线程生产工厂拒绝执行处理类execute和submit有什么区别?execute会抛出异常 submit不会抛出异常线程池怎么处理异常方式一:继承线程池,重写execute/submit,并使用…
2022/8/30 14:22:46 人评论 次浏览 -
java面经:ThreadLocal源码
https://blog.csdn.net/qq_26470817/article/details/124993311举例:Apple类里创建ThreadLocal,对于apple对象,3个线程调用其ThreadLocal的set方法,set方法 会得到调用线程的ThreadLocalMap,没有则创建,往ThreadLocalMap存K-V对,K为apple对象的ThreadLocal,V为set…
2022/7/28 14:33:45 人评论 次浏览 -
Java基础 -- 多线程(二)
Java基础 -- 多线程(二) 1. 线程同步什么是线程同步?翻译:线程同步是针对于共享临界资源的两个或多个并发执行的线程。同步线程是为了避免临界资源使用过程中发生的冲突。否则,当并发运行的线程尝试在同一时间修改同一个变量会发生冲突。为什么引入线程同步?如何实现…
2022/6/19 1:21:15 人评论 次浏览 -
ThreadLocalMap源码分析
在分析ThreadLocal方法的时候,我们了解到ThreadLocal的操作实际上是围绕ThreadLocalMap展开的。ThreadLocalMap的源码相对比较复杂, 我们从以下三个方面进行讨论。 基本结构 ThreadLocalMap是ThreadLocal的内部类,没有实现Map接口,用独立的方式实现了Map的功能,其内部…
2022/6/19 1:21:12 人评论 次浏览 -
Java ThreadLocal 类简析
ThreadLocal ThreadLocal 类的作用就是实现每一个线程都有自己的专属本地变量。 使用 简单示例 public class Demo01 implements Runnable {// SimpleDateFormat 不是线程安全的,所以每个线程都要有自己独立的副本private static final ThreadLocal<SimpleDateFormat&…
2022/5/27 1:20:04 人评论 次浏览 -
ThreadLocal详解
前言 ThreadLocal直译为线程局部变量,或许将它命名为ThreadLocalVariable更为合适。其主要作用就是实现线程本地存储功能,通过线程本地资源隔离,解决多线程并发场景下线程安全问题。 ThreadLocal 接下来,通过ThreadLocal的使用案例、应用场景、源码分析来进行深层次的…
2022/5/4 6:23:57 人评论 次浏览 -
C# 线程数据槽,ThreadStatic,ThreadLocal
public static void Main(string[] args) { //当前主线程命名槽位 var slot = Thread.AllocateDataSlot(); Thread.SetData(slot, "jack"); var t = new Thread(() => { //sl…
2022/4/27 20:13:20 人评论 次浏览 -
threadlocal 详解
使用方法 ThreadLocal<String> localName = new ThreadLocal();localName.set("test");String name = localName.get();localName.remove();public void set(T value) {Thread t = Thread.currentThread();ThreadLocalMap map = getMap(t);if (map != nul…
2022/4/14 23:18:26 人评论 次浏览 -
Dubbo之 RpcContext
RpcContext RpcContext 是一个临时状态记录器,通过上下文存放当前调用过程中所需的环境信息。 通过RpcContext可以获取 Request、Response、Url等 注意 当接收到RPC请求,或发起RPC请求时,RpcContext的状态都会变化。 比如:A调B,B再调C,则B机器上,在B调C之前,RpcCo…
2022/3/31 6:22:04 人评论 次浏览 -
ThreadLocal使用
本文用于个人学习记录 一、强引用、软引用、弱引用 1.强引用(StrongReference) 强引用,是使用最普遍的引用,就是定义变量时的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空间不足,Java 虚拟机宁愿抛出 OutOfMemor…
2022/3/29 23:30:06 人评论 次浏览 -
java ThreadLocal介绍
一、概念 ThreadLocal提供了线程内部的局部变量,每个线程都可以通过get()和set()来对这个局部变量进行操作,但不会和其他线程的局部变量进行冲突,保证了多线程环境下数据的独立性,实现了线程的数据隔离~。 1.1 关于ThreadLocalMap内部类的简单介绍 初始容量16,负…
2022/3/29 1:22:38 人评论 次浏览