摘要:
Nuget Microsoft.Extensions.ObjectPool 使用对象池的好处 减少初始化/资源分配,提高性能。这一条与线程池同理,有些对象的初始化或资源分配耗时长,复用这些对象减少初始化和资源分配。比如:我有一个执行耗时约500毫秒,内存空间 2KB的任务为此创建一个新线程异步执行, 阅读全文
摘要:
1)劣质的代码会带来什么后果? GPT回答: 可维护性降低:代码过于复杂、难以理解、难以修改,导致维护成本增加,代码质量更加恶化。 可靠性降低:错误容易发生,很难找到并修复,因为代码模糊、逻辑混乱,并且缺乏必要的测试。 可扩展性低下:由于代码的结构和逻辑复杂,无法添加新的功能或特性,开发成本和时间增 阅读全文
摘要:
【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案 阅读全文
摘要:
目录 简介 继承关系 聚合关系 组合关系 关联关系 依赖关系 总结 简介 面向对象程序设计中,要实现复杂的模块化系统,需要将系统划分为多个对象并组织它们之间的关系,这就涉及到常说的面向对象五大依赖关系。这五种依赖关系分别是:继承、聚合、组合、关联和依赖。本文将逐一介绍这五种依赖关系。 继承关系 阅读全文
摘要:
在.NET中,返回类型为 Task<T> 的方法并不一定要标记为 async。这是因为 async 关键字只是用来告诉编译器该方法中包含异步操作,并且可以使用 await 和其他异步特性(如 Task.WhenAll)来等待异步操作完成。 如果一个方法中没有使用 await 或者其他异步特性,但 阅读全文
摘要:
目录 1. 输入迭代器(Input Iterator): 2. 输出迭代器(Output Iterator): 3. 前向迭代器(Forward Iterator): 4. 双向迭代器(Bidirectional Iterator): 5. 随机访问迭代器(Random Access Iterato 阅读全文
摘要:
简介 当下的.Net新版本引进了几种新特性,包括全局命名空间引用、可空引用类型和顶级语句。这些特性在一定程度上改善了 .NET 平台的开发效率, 对于短小精干的小程序,这些新的特性无疑可以把开发效率提高到新的高度。 正文 全局引用命名空间 在之前的版本中,如果想在整个项目中使用同一个命名空间中的 阅读全文
摘要:
目录 什么是位运算? 位运算技巧 1. 判断奇偶性 2. 交换两个数 3. 判断一个数是否是2的幂次方 4. 取绝对值 5. 计算平均数 结论 位运算技巧是计算机科学中非常重要的一部分,它可以用来解决很多实际问题。在本篇博客中,我们将介绍一些常见的位运算技巧,以及它们在实际应用中的使用。 什么是位运 阅读全文
摘要:
在C++中,++i被认为是一种原子性操作,即不可分割的、不可中断的整体。它能够确保对变量的修改完整且正确,从而避免了数据竞争等问题,提高了程序的并发性和可靠性。然而,有些人可能会将原子性和线程安全混淆,认为一个原子性操作就一定是线程安全的。实际上,这种想法是不正确的。 原子性和线程安全是两个不同但相 阅读全文