会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
46
下一页
2024年12月24日
聊一聊 C#线程池 的线程动态注入 (中)
摘要: 一:背景 1. 讲故事 上一篇我们用 Thread.Sleep 的方式演示了线程池饥饿场景下的动态线程注入,可以观察到大概 1s 产生 1~2 个新线程,很显然这样的增长速度扛不住上游请求对线程池的DDOS攻击,导致线程池队列越来越大,但C#团队这么优秀,能优化的地方绝对会给大家尽可能的优化,比如这
阅读全文
posted @ 2024-12-24 13:31 一线码农
阅读(733)
评论(1)
推荐(9)
2024年12月23日
聊一聊 C#线程池 的线程动态注入 (上)
摘要: 一:背景 1. 讲故事 在线程饥饿的场景中,我们首先要了解的就是线程是如何动态注入的?其实现如今的ThreadPool内部的实现逻辑非常复杂,而且随着版本的迭代内部逻辑也在不断的变化,有时候也没必要详细的去了解,只需在稍微宏观的角度去理解一下即可,我准备用三篇来详细的聊一聊线程注入的流程走向来作为线
阅读全文
posted @ 2024-12-23 13:30 一线码农
阅读(863)
评论(2)
推荐(8)
2024年12月22日
聊一聊 C#前台线程 如何阻塞程序退出
摘要: 一:背景 1. 讲故事 这篇文章起源于我的 C#内功修炼训练营里的一位朋友提的问题:后台线程的内部是如何运转的 ? ,犹记得C# Via CLR这本书中 Jeffery 就聊到了他曾经给别人解决一个程序无法退出的bug,最后发现是有一个 Backgrond=false 的线程导致的。恰巧在我分析的3
阅读全文
posted @ 2024-12-22 13:08 一线码农
阅读(1525)
评论(7)
推荐(8)
2024年12月20日
聊一聊坑人的 C# MySql.Data SDK
摘要: 一:背景 1. 讲故事 为什么说这东西比较坑人呢?是因为最近一个月接到了两个dump,都反应程序卡死无响应,最后分析下来是因为线程饥饿导致,那什么原因导致的线程饥饿呢?进一步分析发现罪魁祸首是 MySql.Data,这就让人无语了,并且反馈都是升级了MySql.Data驱动引发,接下来我们简单聊一下
阅读全文
posted @ 2024-12-20 12:29 一线码农
阅读(2911)
评论(29)
推荐(24)
2024年12月11日
记一次 .NET某差旅系统 CPU爆高分析
摘要: 一:背景 1. 讲故事 前些天训练营里的一位学员找到我,说他们的差旅后台系统出现了CPU爆高的情况,爆高之后就下不去了,自己分析了下也没找到原因,事情比较紧急,让我帮忙看下是什么回事,手里也有dump,丢过我之后我们上 windbg 分析吧。 二:WinDbg分析 1. 为什么会CPU爆高 看过这个
阅读全文
posted @ 2024-12-11 11:55 一线码农
阅读(2278)
评论(13)
推荐(12)
2024年11月29日
记一次 .NET某hdp智能柜系统 卡死分析
摘要: 一:背景 1. 讲故事 停了一个月时间没有更新博客了,主要是这段时间有些许事情导致心神不宁,我这个人也比较浮躁所以无法潜心修炼,事情如下: 被狗咬了 也不知道是不是出门没看黄历,在小区门口店里买烟,被店老板家狗来了个猝不及防,天降横祸。让店老板赔了个疫苗钱,人生第一次被狗咬,第一次打这种狂犬疫苗,头
阅读全文
posted @ 2024-11-29 09:14 一线码农
阅读(2100)
评论(8)
推荐(21)
2024年10月24日
AOT漫谈专题(第七篇): 聊一聊给C#打造的节点依赖图
摘要: 一:背景 1. 讲故事 上一篇我们聊过AOT编程中可能会遇到的三大件问题,而这三大件问题又是考验你对AOT中节点图的理解,它是一切的原点,接下来我就画几张图以个人的角度来解读下吧,不一定对。 二:理解节点依赖图 1. 对节点的理解 按照官方的说法,构建依赖节点和GC的标记算法一样,都是采用深度优先,
阅读全文
posted @ 2024-10-24 10:43 一线码农
阅读(712)
评论(2)
推荐(3)
2024年10月23日
AOT漫谈专题(第六篇): C# AOT 的泛型,序列化,反射问题
摘要: 一:背景 1. 讲故事 在 .NET AOT 编程中,难免会在 泛型,序列化,以及反射的问题上纠结和反复纠错尝试,这篇我们就来好好聊一聊相关的处理方案。 二:常见问题解决 1. 泛型问题 研究过泛型的朋友应该都知道,从开放类型上产下来的封闭类型往往会有单独的 MethodTable,并共用 EECl
阅读全文
posted @ 2024-10-23 13:00 一线码农
阅读(2562)
评论(4)
推荐(8)
2024年10月16日
AOT漫谈专题(第五篇): 如何劫持.NET AOT编译器 进行源码级调试
摘要: 一:背景 1. 讲故事 上篇聊到了 C#程序编译成Native代码 的宏观过程,有粉丝朋友提了一个问题,能不能在 dotnet publish 发布的过程中对AOT编译器拦截进行源码级调试,这是一个好问题,也是深度研究的必经之路,这篇我们就来分享下吧。 二:托管和非托管调试器 1. 调试器介绍 相信
阅读全文
posted @ 2024-10-16 16:48 一线码农
阅读(720)
评论(1)
推荐(4)
2024年10月15日
AOT漫谈专题(第四篇): C#程序如何编译成Native代码
摘要: 一:背景 1. 讲故事 大家都知道所谓的.NET Native AOT即通过AOT编译器直接将C#代码编译成机器码,大家也习惯用C/C++的编译过程来类比,都是静态编译本质上都差不多,这篇我们借助工具从宏观层面去看一看AOT的编译过程。 二:C/C++ 的编译过程 用gcc编译过c代码的朋友都知道,
阅读全文
posted @ 2024-10-15 12:00 一线码农
阅读(1983)
评论(1)
推荐(12)
2024年10月14日
AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率
摘要: 一:背景 1. 讲故事 上篇聊到了如何对AOT程序进行轻量级的APM监控,有朋友问我如何获取AOT程序的CPU利用率,本来我觉得这是一个挺简单的问题,但一研究不是这么一回事,这篇我们简单的聊一聊。 二:如何获取CPU利用率 1. 认识cpuUtilization字段 熟悉.NET底层的朋友应该知道,
阅读全文
posted @ 2024-10-14 10:35 一线码农
阅读(1775)
评论(0)
推荐(9)
2024年10月12日
AOT漫谈专题(第二篇): 如何对C# AOT轻量级APM监控
摘要: 一:背景 1. 讲故事 上一篇我们聊到了如何调试.NET Native AOT 程序,这是研究一个未知领域知识的入口,这篇我们再来看下如何对 Native AOT 程序进行轻量级的APM监控,当然这里的轻量级更多的是对 AOT 中的coreclr内容的挖掘。 二:如何轻量级APM监控 1. 一个简单
阅读全文
posted @ 2024-10-12 12:53 一线码农
阅读(347)
评论(1)
推荐(4)
2024年10月11日
AOT漫谈专题(第一篇): 如何调试C# AOT程序
摘要: 一:背景 1. 讲故事 上个月接到了二个C# AOT程序的故障分析,发现如今的C# AOT程序也开始在各个领域开枝散叶了,这是一件非常好的事情,本着对这类程序有一个专业的维修态度,开一个系列好好聊一聊吧,当然我这里是漫谈,文章没有先后顺序,先从如何调试开始吧。 二:如何调试AOT程序 1. 一个简单
阅读全文
posted @ 2024-10-11 10:43 一线码农
阅读(813)
评论(0)
推荐(1)
2024年10月8日
记一次升级系统补丁导致 VS2022 崩溃分析
摘要: 一:背景 1. 讲故事 在最近一两年内Visual Studio 2022会偶发的出现打开即崩溃的情况,本想着把VS卸载重装,但发现这东西想卸载干净还是蛮困难的,又加上我这个人比较懒,所以就直接重装系统了,最近的9月份因为它重装了一次系统,但过了一天又遇到了同样的问题,在这样一个背景下我决定认真的看
阅读全文
posted @ 2024-10-08 11:39 一线码农
阅读(898)
评论(3)
推荐(2)
2024年9月30日
聊一聊 C#中有趣的 SourceGenerator生成器
摘要: 一:背景 1. 讲故事 前些天在看 AOT的时候关注了下 源生成器,挺有意思的一个东西,今天写一篇文章简单的分享下。 二:源生成器探究之旅 1. 源生成器是什么 简单来说,源生成器是Roslyn编译器给程序员开的一道口子,在这个口子里可以塞入一些自定义的cs代码,让Roslyn编译器在编译代码的时候
阅读全文
posted @ 2024-09-30 17:16 一线码农
阅读(692)
评论(0)
推荐(2)
上一页
1
2
3
4
5
6
7
8
9
10
···
46
下一页
公告