自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 C#实现一个AVL树用于10w内的排行榜统计

为什么用AVL树,对于频繁查找,并且支持范围查找的性能会相对较高.即使是频繁的插入和修改,对于统计10w以内的人也完全足够使用了.更高的量级建议直接走Redis。} // 用户唯一ID。// 排序规则:Count高的在前,Count相同SubmitTime早的在前,UserId保证唯一性。} // 积分。} // 提交时间。/// Awake后再插入,避免存过多以及引用导致的问题。/// 持久化的话就只存这个。

2025-08-17 22:51:39 571

原创 协程/异步代码

在编程中,协程(Coroutine)是一种用于并发编程的控制结构,它允许函数在执行过程中暂停,并在稍后恢复执行。协程在暂停时会保存其执行状态和数据,以便在恢复时能够继续执行。

2025-03-12 03:17:41 1539

原创 epoll

epoll是 Linux 内核提供的一种高效的 I/O 事件通知机制,用于处理大量并发连接。与传统的 I/O 多路复用机制(如select和poll)相比,epoll在性能和可扩展性方面具有显著优势。epoll。

2025-03-12 02:50:55 410

原创 ConcurrentDictionary、ConcurrentQueue等线程安全类的探索

在 .NET 中,和是线程安全的集合类,它们通过内部机制来确保多线程环境下的安全访问和高性能。以下是它们如何保证线程安全以及为什么性能高的详细解释,并对比了使用配合Dictionary和Queue的差异。

2025-03-09 01:21:27 372

原创 用C++实现红黑树(允许重复值)

/ 情况2:叔叔节点是黑色,且当前节点是右子节点。// 情况3:叔叔节点是黑色,且当前节点是左子节点。// 情况2:叔叔节点是黑色,且当前节点是左子节点。// 情况3:叔叔节点是黑色,且当前节点是右子节点。// 父节点是祖父节点的右子节点。// 情况1:叔叔节点是红色。// 情况1:叔叔节点是红色。// 父节点是祖父节点的左子节点。// 确保根节点始终是黑色。

2025-03-08 22:59:02 1529

原创 TaskCompletionSource<T> 的特殊死锁情况

如果上下文是单线程同步上下文(如UI线程或ASP.NET请求上下文),在这种上下文中,如果你在主线程中等待任务完成,同时在同一线程上设置结果,这就会导致死锁。因为主线程被阻塞,等待任务完成,而任务的延续任务需要在主线程上执行。2.在其中一个线程5 await tcs时,然后另外的异步代码中在一些不稳定复现的情况下在某一次 执行 SetResult()方法刚好在5上执行也会导致死锁情况. 原理和1是一样的。会死锁的情况取决于是否在单线程同步上下文中等待操作完成,并且延续任务需要在同一个线程上执行。

2025-03-01 23:40:56 197

原创 C++ Array Vector list的优缺点对比

是三种常用的容器类型,它们各自有不同的优缺点和适用场景。

2025-03-01 22:26:15 384

原创 Skynet Linux环境配置-基于Linux上开发

/ 更新软件包//用于安装编译和构建软件所需的基本工具集或者// 有的版本apt上找不到gcc//提供了GNU readline库接口//自动配置工具,用于生成可以从源代码构建的软件的配置脚本。//通常用于准备源代码包以便编译安装。//自动化构建工具,通常用于从源代码编译和链接程序// GNU make的Guile扩展,它允许在make脚本中使用Guile语言。这个软件包主要用于扩展make的功能,使其能够使用Guile语言进行更复杂的操作和脚本编写‌。

2025-02-16 02:06:43 847 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除