摘要: 本文主要讲解.Net基于Semaphore带大家了解信号量 信号量举例 大家去银行去银行取钱,互斥锁管理的时一个柜台是否正在处理业务,而信号量管理的是整个柜台是否正在处理业务,每当有一个柜台处理完成之后,A大堂经理则进行叫号喊下一位进行处理业务,B大堂经理则对进来的客户进行接待,当柜台全部都在办理业 阅读全文
posted @ 2021-07-06 09:22 初夏的阳光丶 阅读(815) 评论(3) 推荐(3) 编辑
摘要: 本文主要讲解.Net基于Monitor.Enter和lock实现互斥锁 Monitor.Enter实现 相比前面的锁来说,混合锁的性能更高,任何引用类型的对象都可以做为锁对象,不需要事先创建指定类型的实例,并且设计的非托管的资源由.Net运行时自动释放,不需要手动调用释放函数,获取和释放混合锁需要使 阅读全文
posted @ 2021-06-22 22:34 初夏的阳光丶 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲解.Net基于Threading.Mutex实现互斥锁 基础互斥锁实现 基础概念:和自旋锁一样,操作系统提供的互斥锁内部有一个数值表示锁是否已经被获取,不同的是当获取锁失败的时候,它不会反复进行重试,而且让线程进入等待状态,并把线程对象添加到锁关联的队列中,另一个线程释放锁时会检查队列中是 阅读全文
posted @ 2021-06-16 23:07 初夏的阳光丶 阅读(1198) 评论(9) 推荐(5) 编辑
摘要: 本文主要讲解.Net基于Thread实现自旋锁的三种方式 ###基于Thread.SpinWait实现自旋锁 实现原理:基于Test--And--Set原子操作实现 使用一个数据表示当前锁是否已经被获取 0表示未被索取,1表示已经获取 获取锁时会将_lock的值设置为1 然后检查修改前的值是否等于0 阅读全文
posted @ 2021-06-15 22:55 初夏的阳光丶 阅读(869) 评论(4) 推荐(3) 编辑
摘要: 本文主要讲解如何设计模式的一些优缺点和适用场景以及一些概念信息 首先我们看一下设计模式的总览 接下来我们开始逐个分析每个设计模式的优缺点和概念 单例模式 概念: 保证一个类仅有一个实例,并提供一个访问它的全局访问 优点: 提供了对唯一实例的受控访问 允许可变数目的实例 避免对共享资源的多重占用 缺点 阅读全文
posted @ 2021-05-23 17:07 初夏的阳光丶 阅读(311) 评论(2) 推荐(1) 编辑
摘要: 本文主要讲解如何通过RabbitMQ实现定时任务(延时队列) 环境准备 需要在MQ中进行安装插件 地址链接 插件介绍地址:https://www.rabbitmq.com/blog/2015/04/16/scheduling-messages-with-rabbitmq/ 使用场景 作为一个新的预支 阅读全文
posted @ 2021-04-26 17:27 初夏的阳光丶 阅读(1591) 评论(1) 推荐(6) 编辑
摘要: 研究AutoMapper源码前,我们先来看一下AutoMapper的作用 官网解释:AutoMapper是一个简单的小程序库,旨在解决看似复杂的问题-摆脱将一个对象映射到另一个对象的代码 解释 首先一个简单的使用AutoMapper方法演示 ar config = new MapperConfigu 阅读全文
posted @ 2021-01-31 18:46 初夏的阳光丶 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 在讨论.Net的依赖注入(DI)之前,我们需要知道我们为什么需要使用依赖注入 依赖反转原理(DIP): DIP允许您将两个类解耦,否则它们会紧密耦合,这有助于提高可重用性和更好的可维护性 DIP介绍: 高级模块不应依赖于低级模块。两者都应依赖抽象。 抽象不应依赖细节。细节应取决于抽象。 下面我们通过 阅读全文
posted @ 2020-11-17 22:50 初夏的阳光丶 阅读(701) 评论(2) 推荐(1) 编辑
摘要: 前因:最近在阅读.net core源码,发现关于Configuration介绍的文档都比较多,但是都比较杂乱,(微软文档太官方),所以写下一些自己的感想 主要通过三种使用情况来介绍 Web应用程序使用 控制台应用程序使用 库类使用 需要注意的点,假如我同时配置多个配置文件,程序使用的是最后加载的配置 阅读全文
posted @ 2020-09-10 17:39 初夏的阳光丶 阅读(630) 评论(0) 推荐(2) 编辑
摘要: 异常信息原因 异常是易于滥用的那些构造之一。这可能包括不应该在应有的情况下引发异常或在没有充分理由的情况下捕获异常。还有一个引发错误异常的问题,它不仅无助于我们,而且会使我们困惑。另一方面,存在正确处理异常的问题。如果使用不当,异常处理会变得更糟。所以,在本文中,我将简单介绍一些有关引发和处理异常的 阅读全文
posted @ 2020-08-06 17:34 初夏的阳光丶 阅读(1528) 评论(4) 推荐(7) 编辑