《Netty》从零开始学netty源码(五十四)之PoolThreadLocalCache

news/2024/10/30 8:29:24/

PoolThreadLocalCache

前面讲到PoolThreadCache,它为线程提供内存缓存,当线程需要分配内存时可快速从其中获取,在Netty中用PoolThreadLocalCache来管理PoolThreadCache,它的数据结构如下:
在这里插入图片描述

PoolThreadLocalCache相当于java的ThreadLocal,我们知道ThreadLocal中维护的是ThreadLocalMap,使用hashcode来做下标,而Netty中自己维护了一个InternalThreadLocalMap,内部使用的是一个数组来存放变量值,使用index来寻找当前线程对应的变量,它的性能比map要好一些。

接下来分析它的三个方法:get()set()remove()

get()

在这里插入图片描述

子类PoolThreadLocalCacheinitialize()方法进行重写:
在这里插入图片描述

接下来我们看下定时任务trimTask()

trimTask

在这里插入图片描述

set()

在这里插入图片描述

如果变量值value有效则将其放入map中,否则将其删除,接下来具体分析这两个方法。

setKnownNotUnset()

在这里插入图片描述

remove()

删除的时候需要两步,第一步是先将其从待删除列表中删除,第二步则是对象自己本身的清除工作。

在这里插入图片描述

removeFromVariablesToRemove()

在这里插入图片描述

onRemoval()

在这里插入图片描述

至此,PoolThreadLocalCache分析至此完毕。
请添加图片描述


http://www.ppmy.cn/news/62859.html

相关文章

Spring02-Spring注解的使用、基于注解的IOC、纯注解配置、整合Junit、AOP入门、基于配置文件的AOP、切入点表达式、基于配置的文件环绕通知

Spring注解的使用 一、项目注解 和 XML 的选择问题 学习基于注解的 IOC 配置,即注解配置 和 XML 配置要实现的功能都是一样的,都是要降低程序间的耦合。只是配置的形式不一样。关于实际的开发中到底使用xml还是注解,每家公司有着不同的使用…

CN2服务器掉包时的处理方法

简述 非针对速度及稳定性的服务器掉包时, 大家可能没太关注原因, 持续久了才看看, 但如果租用的是高质量的CN2服务器, 出现掉巳时真的了解原因, 文章会为大家详细说明掉包的可能性及处理 什么是掉包 掉包是指网络出现不稳定或挤塞的情况, 掉包对业务的影响非常大, 每一次的掉包…

【MongoDB】MongoDB和MySQL数据库的区别? MongoBD和Redis数据库的区别?

目录 MongoDB和MySQL数据库的区别? 1.数据库模型不同 2.存储方式不同 3.查询效率不同 4.数据一致性(事务处理) 5.数据概念不同 6.字段管理不同 7.支持数据分片不同 MongoBD和Redis数据库的区别? 1.存储方式不同 2.数据…

linux命令之kill详解

kill 发送信号到进程。 更多Linux命令详解:linux命令详解 目录 bash内建命令GNU coreutils中的命令 内建命令 概要 kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... kill -l [sigspec]主要用途 发送信号到作业或进程(可以为多个&…

CTF权威指南 笔记 -第三章汇编基础-3.2-x86/x64汇编基础

这节介绍PC最常见的架构 x86和扩展 x64框架 CPU操作模式 对x86处理器而言 有三个最主要的保护模式 保护模式 实地址模式 系统管理模式还有一个保护模式的子模式 虚拟8086模式 保护模式 保护模式是处理原生状态 这个时候所有指令和特性都是可以使用的 分配给程序的独立内…

Echarts 3D散点图

文章目录 以下是一个 html echarts的案例 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>ECharts 3D Scatter Plot Demo</title><!-- 引入 ECharts --><script src"https://cdnjs.cloudflare.com/…

视频文件打不开怎么办,怎么修复?

工作生活中偶尔会遇到视频文件损坏、打不开&#xff0c;播放器提示无法渲染的情况。损坏原因有&#xff1a;相机、摄像机、手机录像拍摄中过程断电、没电、死机或设备摔落&#xff0c;行车记录仪在交通事故中由于碰撞造成损坏&#xff0c; 也有可能是后期拷贝&#xff0c;存储环…

Wireless-Sensor-Network-master_WSN_无线传感网络(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 近年来&#xff0c;随着对等网络、云计算和网格计算等分布式环境的发展&#xff0c;无线传感器网络&#xff08;WSN&#xff0…