会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
黑洞视界
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2023年9月4日
使用 OpenTelemetry 构建 .NET 应用可观测性(2):OpenTelemetry 项目简介
摘要: [TOC] # 前世今生 ## OpenTracing OpenTracing 项目启动于 2016 年,旨在提供一套分布式追踪标准,以便开发人员可以更轻松地实现分布式追踪。 OpenTracing 定义了一套 Tracing 模型,以及一套 API,用于在应用程序中创建和管理这些数据模型。 下面是
阅读全文
posted @ 2023-09-04 22:12 黑洞视界
阅读(1523)
评论(3)
推荐(10)
2023年8月27日
使用 OpenTelemetry 构建 .NET 应用可观测性(1):什么是可观测性
摘要: [TOC] # 什么是系统的可观测性(Observability) 对软件行业来说,可观测性(Observability)是一个舶来词,出自控制论(Control Theory)。 **可观测性是系统的一个属性**,它是指系统的状态能否被观测,也就是说,系统的状态能否被监控、收集、分析、查询、可视化
阅读全文
posted @ 2023-08-27 14:30 黑洞视界
阅读(1994)
评论(4)
推荐(8)
2023年8月6日
揭秘 .NET 中的 TimerQueue(下)
摘要: [TOC] # 前言 上文给大家介绍了 TimerQueue 的任务调度算法。 https://www.cnblogs.com/eventhorizon/p/17557821.html 这边做一个简单的复习。 TimerQueue 中的基本任务单元是 TimerQueueTimer,封装待执行的定时
阅读全文
posted @ 2023-08-06 11:25 黑洞视界
阅读(3065)
评论(0)
推荐(11)
2023年7月16日
揭秘 .NET 中的 TimerQueue(上)
摘要: [TOC] # 前言 TimerQueue 是.NET中实现定时任务的核心组件,它是一个定时任务的管理器,负责存储和调度定时任务。它被用于实现很多 .NET 中的定时任务,比如 System.Threading.Timer、Task.Delay、CancellationTokenSource 等。
阅读全文
posted @ 2023-07-16 14:15 黑洞视界
阅读(4657)
评论(10)
推荐(34)
2023年6月22日
如何在long-running task中调用async方法
摘要: # 什么是 long-running thread long-running task 是指那些长时间运行的任务,比如在一个 while True 中执行耗时较长的同步处理。 下面的例子中,我们不断从队列中尝试取出数据,并对这些数据进行处理,这样的任务就适合交给一个 long-running tas
阅读全文
posted @ 2023-06-22 00:27 黑洞视界
阅读(2263)
评论(3)
推荐(13)
2023年6月15日
揭秘 Task.Wait
摘要: Task.Wait 是 Task 的一个实例方法,用于等待 Task 完成,如果 Task 未完成,会阻塞当前线程。 非必要情况下,不建议使用 Task.Wait,而应该使用 await。 本文将基于 .NET 6 的源码来分析 Task.Wait 的实现,其他版本的实现也是类似的。
阅读全文
posted @ 2023-06-15 01:17 黑洞视界
阅读(4637)
评论(4)
推荐(17)
2023年4月21日
C#中使用CAS实现无锁算法
摘要: CAS 的基本概念 CAS(Compare-and-Swap)是一种多线程并发编程中常用的原子操作,用于实现多线程间的同步和互斥访问。 它操作通常包含三个参数:一个内存地址(通常是一个共享变量的地址)、期望的旧值和新值。 CompareAndSwap(内存地址,期望的旧值,新值) CAS 操作会比较
阅读全文
posted @ 2023-04-21 00:19 黑洞视界
阅读(3259)
评论(1)
推荐(12)
2023年4月5日
LRU缓存替换策略及C#实现
摘要: LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数据的访问速度,如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是,缓存的成本较高,因此容量往往是有限的,当缓存满了之后,就需要一种策略来决定将哪些数据移除出缓存,以腾出空间来存储新的数据。 这样的策
阅读全文
posted @ 2023-04-05 17:56 黑洞视界
阅读(3372)
评论(10)
推荐(16)
2023年3月15日
.NET Task 揭秘(3)async 与 AsyncMethodBuilder
摘要: 目录前言AsyncMethodBuilder 介绍AsyncMethodBuilder 是状态机的重要组成部分AsyncMethodBuilder 的结构AsyncMethodBuilder 功能分析对状态机的生命周期进行管理对 async 方法的返回值进行包装小结async void自定义 Asy
阅读全文
posted @ 2023-03-15 23:07 黑洞视界
阅读(5071)
评论(4)
推荐(20)
2023年3月1日
.NET AsyncLocal 避坑指南
摘要: AsyncLocal 用法简介 通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据,该上下文后续代码中都可以访问和修改这份数据,但另一个无关的上下文是无法访问的。 无论是在新创建的 Task 中还是 await 关键词之后,我们都能够访问前面设置的 AsyncLocal 的数据。
阅读全文
posted @ 2023-03-01 23:13 黑洞视界
阅读(7823)
评论(19)
推荐(46)
上一页
1
2
3
4
下一页
公告