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

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

PoolThreadCache

Netty有一个大的公共内存容器PoolArena,用来管理从操作系统中获得的内存,在高并发下如果所有线程都去这个大容器获取内存它的压力是非常大的,所以Netty为每个线程建立了一个本地缓存,即PoolThreadCache,每次需要申请内存的时候都先从本地缓存池中分配,分配失败再去公共内存池分配,PoolThreadCache是个最终类,它的数据结构如下:

在这里插入图片描述

在这个本地线程缓存中又细分两个子缓存列表,即small类型和normal类型的缓存列表,它的数据结构如下:

在这里插入图片描述

下面分析它的构造函数:

构造函数

在这里插入图片描述

以直接内存为例分析两个子缓存列表的初始化过程。

createSubPageCaches

在这里插入图片描述

SubPageMemoryRegionCache的构造函数:

在这里插入图片描述

createNormalCaches

在这里插入图片描述

NormalMemoryRegionCache的构造函数:

在这里插入图片描述

至此,PoolThreadCache的基本了解介绍结束,感谢阅读。
全文完,如果觉得文章有点意思,不妨点个“赞”或者“在看”吧,您的每一份正反馈都是对三横兰写作的最大肯定,感谢阅读_

每天坚持一点点,每天进步一点点

坚持是日复一日,质变需日积月累

我是三横兰,那个三横的兰
请添加图片描述

http://www.lryc.cn/news/65494.html

相关文章:

  • 放弃40k月薪的程序员工作,选择公务员,我来分享一下看法
  • 【MybatisPlus】高级版可视化、可配置 自动生成代码
  • 【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现
  • 2023/5/4总结
  • electron+vue3全家桶+vite项目搭建【17】pinia状态持久化
  • java基础入门-05-【面向对象进阶(static继承)】
  • day12 IP协议与ethernet协议
  • 蓝牙耳机哪款性价比高?2023蓝牙耳机性价比排行
  • 关于C语言的一些笔记
  • 【Python入门知识】NumPy数组迭代及连接
  • 我们公司的面试,有点不一样!
  • C++之初识STL—vector
  • 资讯汇总230503
  • C++之编程规范
  • ChatGPT做PPT方案,10组提示词方案!
  • 分布式夺命12连问
  • sourceTree离线环境部署
  • 6.1.1 图:基本概念
  • SlickEdit for Windows and Linux crack
  • ChatGPT实现stackoverflow 解释
  • 第五章 作业(123)【编译原理】
  • 基于Vue的个性化网络学习笔记系统
  • 如何搭建一个HTTP实验环境
  • Electron 环境搭建
  • 农机电招平台~java
  • springboot+vue体质测试数据分析及可视化设计(源码+文档)
  • thinkphp+vue+html高校固定资产管理系统维修 租借4h80u
  • 【学习笔记】「北大集训 2021」经典游戏
  • 优惠卷秒杀功能、全局唯一ID、乐观锁解决超卖问题、悲观锁实现一人一单、集群下锁失效问题
  • Nest的基本概念,以及如何使用Nest CLI来构建一个简单的Web应用程序