为什么 .NET8线程池 容易引发线程饥饿-牛翰网

为什么 .NET8线程池 容易引发线程饥饿

一:背景 1. 讲故事 最近时间相对比较宽裕,多写点文章来充实社区吧,这篇文章主要还是来自于最近遇到的几例线程饥饿(Task.Result)引发的一系列的反思和总结,我觉得.NET8容易引发饥饿的原因,...
聊一聊 C#异步中的Overlapped是如何寻址的-牛翰网

聊一聊 C#异步中的Overlapped是如何寻址的

一:背景 1. 讲故事 前段时间训练营里的一位朋友提了一个问题,我用ReadAsync做文件异步读取时,我知道在Win32层面会传 lpOverlapped 到内核层,那在内核层回头时,它是如何通过这个 lpOverlapp...
记一次 .NET某汗液测试机系统 崩溃分析-牛翰网

记一次 .NET某汗液测试机系统 崩溃分析

一:背景 1. 讲故事 上个月在社区写的文章比较少,一直关注的朋友应该知道那段时间被狗咬了以及一些琐事处理,所以手头上也攒了不少需要分享的案例,这段时间比较空闲,逐个给大 家做个分享吧,...
记一次 .NET某工业视觉软件 崩溃分析-牛翰网

记一次 .NET某工业视觉软件 崩溃分析

一:背景 1. 讲故事 前两天给训练营里的一位学员分析了一个dump,学员因为弄了一整天也没找到祸根,被我一下子弄出来了,极度想看看我是怎么分析的?由于在微信上不能一言两语表尽,干脆写一篇...
聊一聊 C#线程池 的线程动态注入 (下)-牛翰网

聊一聊 C#线程池 的线程动态注入 (下)

一:背景 1. 讲故事 前面二篇我们聊到了 Thread.Sleep 和 Task.Result 场景下的线程注入逻辑,在线程饥饿的情况下注入速度都不是很理想,那怎么办呢?有没有更快的注入速度,这篇作为 动态注入 ...
聊一聊 C#线程池 的线程动态注入 (中)-牛翰网

聊一聊 C#线程池 的线程动态注入 (中)

一:背景 1. 讲故事 上一篇我们用 Thread.Sleep 的方式演示了线程池饥饿场景下的动态线程注入,可以观察到大概 1s 产生 1~2 个新线程,很显然这样的增长速度扛不住上游请求对线程池的DDOS攻击,...
聊一聊 C#线程池 的线程动态注入 (上)-牛翰网

聊一聊 C#线程池 的线程动态注入 (上)

一:背景 1. 讲故事 在线程饥饿的场景中,我们首先要了解的就是线程是如何动态注入的?其实现如今的ThreadPool内部的实现逻辑非常复杂,而且随着版本的迭代内部逻辑也在不断的变化,有时候也没...
聊一聊 C#前台线程 如何阻塞程序退出-牛翰网

聊一聊 C#前台线程 如何阻塞程序退出

一:背景 1. 讲故事 这篇文章起源于我的 C#内功修炼训练营里的一位朋友提的问题:后台线程的内部是如何运转的 ? ,犹记得C# Via CLR这本书中 Jeffery 就聊到了他曾经给别人解决一个程序无法退出...
AOT漫谈专题(第七篇): 聊一聊给C#打造的节点依赖图-牛翰网

AOT漫谈专题(第七篇): 聊一聊给C#打造的节点依赖图

一:背景 1. 讲故事 上一篇我们聊过AOT编程中可能会遇到的三大件问题,而这三大件问题又是考验你对AOT中节点图的理解,它是一切的原点,接下来我就画几张图以个人的角度来解读下吧,不一定对。 ...
AOT漫谈专题(第六篇): C# AOT 的泛型,序列化,反射问题-牛翰网

AOT漫谈专题(第六篇): C# AOT 的泛型,序列化,反射问题

一:背景 1. 讲故事 在 .NET AOT 编程中,难免会在 泛型,序列化,以及反射的问题上纠结和反复纠错尝试,这篇我们就来好好聊一聊相关的处理方案。 二:常见问题解决 1. 泛型问题 研究过泛型的朋...