摘要: 前言 在即将发布的 .NET 6 runtime 中,默认的线程池实现从 C++ 代码改为了 C#,更方便我们学习线程池的设计了。 https://github.com/dotnet/runtime/tree/release/6.0/src/libraries/System.Threading.Th 阅读全文
posted @ 2021-09-21 17:00 黑洞视界 阅读(6691) 评论(21) 推荐(70) 编辑
摘要: 说明 本文主要描述 Linux 环境下 .NET Core 程序的问题分析方案,也会提及如何将 Linux 系统中保存好的 core dump 文件转移到其他位置进行分析,Mac 环境中未尝试成功,Windows 中推荐使用 WSL。 将依次讲解如何在 .NET Core 2.x、.NET Core 阅读全文
posted @ 2021-01-03 12:57 黑洞视界 阅读(1402) 评论(2) 推荐(7) 编辑
摘要: 前言 最近 Task.Run 相关的话题在园子里讨论的比较热闹。其中有个比较重要的配角,传给 Task.Run 的委托。而这个委托是通过 Lambda 表达式 来构建的。那 Lambda 表达式到底是个什么? 本文例子基于 .NET Core 3.1 的编译结果反编译得出结论,不同版本的编译器的编译 阅读全文
posted @ 2020-12-12 00:41 黑洞视界 阅读(452) 评论(0) 推荐(7) 编辑
摘要: 前言 对于写过 ASP.NET Core 的童鞋来说,可以通过 HttpContextAccessor 在 Controller 之外的地方获取到HttpContext,而它实现的关键其实是在于一个AsyncLocal<HttpContextHolder> 类型的静态字段。接下来就和大家来一起探讨下 阅读全文
posted @ 2020-01-29 17:01 黑洞视界 阅读(2833) 评论(7) 推荐(14) 编辑
摘要: 前言 本文主要是以 C# 为例介绍 .NET 中的三种指针类型(本文不包含对于函数指针的介绍):对象引用、非托管指针 、托管指针。 学习是一个不断深化理解的过程,借此博客,把自己关于 .NET 中指针相关的理解和大家一起讨论一下,若有表述不清楚,理解不正确之处,还请大家批评指正。 开始话题之前,我们 阅读全文
posted @ 2019-02-09 16:17 黑洞视界 阅读(5293) 评论(9) 推荐(30) 编辑
摘要: 在某些情况,我们希望能延迟一个依赖的初始化。如果使用的是autofac,我们可以通过注入Lazy来实现。 我们对 autofac GitHub上提供的一个例子进行进行简单改造,跑起来看看。 原Example的链接https://github.com/autofac/Examples/tree/mas 阅读全文
posted @ 2018-08-27 22:41 黑洞视界 阅读(1897) 评论(0) 推荐(3) 编辑
摘要: 1、 闭包的含义 首先闭包并不是针对某一特定语言的概念,而是一个通用的概念。除了在各个支持函数式编程的语言中,我们会接触到它。一些不支持函数式编程的语言中也能支持闭包(如java8之前的匿名内部类)。 在看过的对于闭包的定义中,个人觉得比较清晰的是在《JavaScript高级程序设计》这本书中看到的 阅读全文
posted @ 2018-08-25 20:41 黑洞视界 阅读(9688) 评论(7) 推荐(23) 编辑
摘要: 因为对表达式树有点兴趣,出于练手的目的,试着写了一个深拷贝的工具库。支持.net standard2.0或.net framework4.5及以上。 GitHub地址https://github.com/blurhkh/DeepCopier nuget地址https://www.nuget.org/ 阅读全文
posted @ 2018-04-06 22:37 黑洞视界 阅读(913) 评论(6) 推荐(3) 编辑