首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
dotnet通关秘籍
唐青枫
创建于2024-02-19
订阅专栏
dotnet硬核知识
等 14 人订阅
共132篇文章
创建于2024-02-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
C#.NET Task 与 async await 深入解析:底层原理、执行流程与实战误区
Task 是异步操作的结果载体,async/await 是操作这个载体的语言级语法糖,而真正决定是否占线程、怎么调度、何时恢复执行的,是底层操作类型、上下文和运行时调度机制。
C#.NET ValueTaskSource 深入解析:零分配异步、ManualResetValueTaskSourceCore 与使用边界
IValueTaskSource 是 ValueTask 异步路径上的低层承载接口,核心价值是让异步操作的状态对象可以复用,从而减少甚至避免额外分配。
C#.NET ObjectPool 深入解析:对象复用、池化策略与使用边界
ObjectPool 这类工具,真正值钱的地方不是“把所有对象都放进池里”,而是: 对某些创建成本不算低、使用频率高、生命周期短、又能安全复用的对象,减少重复分配和回收的成本。
C#.NET Mapperly 深入解析:源生成映射、安装使用与工程化取舍
Mapperly 是一个基于 Source Generator 的对象映射库,它把映射代码放到编译期生成,运行时执行的仍然是普通 C# 代码。
C#.NET IL 中间码 深入解析:从 C# 编译结果到 CLR 执行链路
简介 很多人第一次认真看 IL,通常不是因为“想学一门汇编”,而是因为碰到了这些问题: 同一段 C#,编译之后到底变成了什么 async/await、yield、lock 这些语法糖到底被编译成了什么
C#.NET Monitor 与 Mutex 深入解析:进程内同步、跨进程互斥与使用边界
简介 在 .NET 里提到同步,很多人第一反应通常是: 这没问题。 但只要你继续往下挖,很快就会碰到两个更底层的名字: 它们都能做“互斥”,但解决的问题并不是同一类。 一句话先说透: 所以这篇文章重点
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
简介 很多人第一次认真看 gRPC,通常不是因为“想学一个新协议”,而是因为项目已经出现了这些信号: 服务和服务之间调用越来越多 REST 的 JSON 体积、契约漂移、字段随意扩张开始让人烦 想要更
C#.NET TPL Dataflow 深入解析:数据流管道、背压控制与实战取舍
TPL Dataflow 不是一个普通并发集合,也不是消息队列,而是一套在进程内组织异步处理管道的工具。
C#.NET 分布式事务 深入解析:TCC、Saga、Outbox 与落地取舍
简介 只要你的 .NET 系统开始从单体走向微服务,很快就会遇到这个问题: 这时候你会发现,单库事务那套熟悉的心智模型开始失效了。 在单体应用里,你可以靠: SqlTransaction DbTran
C#.NET Consul + Steeltoe 深入解析:服务注册发现、健康检查与微服务接入
简介 在 .NET 微服务里,只要你开始拆服务,很快就会遇到这几个现实问题: 服务实例越来越多,地址不固定 调用方不能再把 IP:Port 写死 某个实例挂了,调用方最好别继续打过去 配置、注册、发现
C#.NET ConcurrentQueue<T> 深入解析:无锁队列原理、FIFO 语义与使用边界
简介 在 .NET 里做并发集合选型时,只要需求里出现这几个关键词: 生产者-消费者 任务排队 消息缓冲 先来先处理 很多时候你真正要找的,其实不是 ConcurrentStack<T>,也不是 Co
C#.NET ConcurrentStack<T> 深入解析:无锁栈原理、LIFO 语义与使用边界
简介 在 .NET 里做并发集合选型时,很多人最先想到的是: ConcurrentDictionary<TKey, TValue> ConcurrentQueue<T> ConcurrentBag<T
C#.NET ReaderWriterLockSlim 深入解析:读写锁原理、升级锁与使用边界
简介 在 .NET 里做并发控制时,最常见的默认答案通常还是: 这没有问题。 但有一类场景,普通互斥锁会显得有点“太保守”: 读很多 写很少 读操作彼此其实并不冲突 比如: 本地缓存查询 配置快照读取
C#.NET System.Threading.Lock 深入解析:新一代 lock、底层语义与使用边界
简介 在 .NET 里提到线程同步,很多人的第一反应还是: 这套写法本身没有问题,而且已经用了很多年。 但从 .NET 9 和 C# 13 开始,官方开始明确给出一个更推荐的方向: 也就是说,互斥锁这
C#.NET SpinLock 深入解析:自旋锁原理、使用边界与性能取舍
简介 在 .NET 里,只要你开始深入看并发控制,很快就会发现这样一个现象: 大多数业务代码都用 lock 异步场景更常见的是 SemaphoreSlim / AsyncLock 简单状态更新则更适合
C#.NET SignalR + Redis Backplane 深入解析:多节点部署与跨实例消息同步
简介 SignalR 在单节点开发环境里通常很好用。 你本地起一个应用,前端连上来,消息一发,聊天室、通知、在线状态、协作编辑似乎都没什么问题。 但很多团队一到生产环境,问题就开始冒出来了: 应用一扩
深入理解 C#.NET TaskScheduler:为什么大量使用 Work-Stealing
简介 只要你开始深入看 .NET 的并行调度模型,很快就会碰到一个高频词: 很多文章会告诉你: 它是“工作窃取” 每个线程有自己的队列 队列空了就去偷别人的任务 这些说法当然没错,但还远远不够。 真正
深入理解 C#.NET Task.Run:调度原理、线程池机制与性能优化
简介 Task.Run 是 .NET 里最常见、也最容易被误解的 API 之一。 很多人对它的第一印象是: “开个后台线程” “把同步代码变异步” “防止阻塞当前线程” 这些说法不能说全错,但都不够准
C#.NET stackalloc 深入解析:栈上分配、Span 配合与使用边界
简介 在 .NET 里,只要你开始关注性能,尤其是这些场景: 高频字符串处理; 协议解析和编码; 临时 byte / char 缓冲区; 循环里的小数组分配; 希望减少 GC 干扰的热点代码; 你大概
C#.NET Pipelines 深入解析:高性能 IO 管道与零拷贝协议处理实战
简介 如果说: Span<T> 解决的是“如何高效操作一段连续内存”; Memory<T> 解决的是“如何跨异步边界持有连续内存”; ReadOnlySequence<T> 解决的是“如何处理多段逻辑
下一页