2025年3月19日

线程

摘要: 线程 阅读目录 AppDomain,进程和线程的关系 前台线程和后台线程 多线程和异步的区别 .net中实现异步的几种方式 线程的启动,挂起和结束 Demo 回到顶部 AppDomain,进程和线程的关系 还是用图来说明比较容易理解。 可以总结为以下几句话。 1,进程可以理解为程序(.exe)的实例 阅读全文

posted @ 2025-03-19 20:12 漫思 阅读(13) 评论(0) 推荐(0)

线程池

摘要: 线程池 阅读目录 线程池与线程的不同 Demo 回到顶部 线程池与线程的不同 线程的创建是比较占用资源的一件事情,.NET 为我们提供了线程池来帮助我们创建和管理线程。Task是默认会直接使用线程池,但是Thread不会。如果我们不使用Task,又想用线程池的话,可以使用ThreadPool类。 回 阅读全文

posted @ 2025-03-19 20:11 漫思 阅读(8) 评论(0) 推荐(0)

Task

摘要: Task 阅读目录 传参 可以有返回值 Demo .net 4.0为我们带来了TPL(Task Parallel Library),其中Task相较ThreadPool线程池使用更简单,而且支持线程的取消,完成和失败通知等交互性操作,而这些是ThreadPool所没有的。并且Task是可以有返回值的 阅读全文

posted @ 2025-03-19 20:11 漫思 阅读(9) 评论(0) 推荐(0)

异步编程模型(APM)模式

摘要: 异步编程模型(APM)模式 阅读目录 什么是APM Demo 回到顶部 什么是APM .net 1.0时期就提出的一种异步模式,并且基于IAsyncResult接口实现BeginXXX和EndXXX类似的方法。 .net中有很多类实现了该模式(比如HttpWebRequest),同时我们也可以自定义 阅读全文

posted @ 2025-03-19 20:11 漫思 阅读(22) 评论(0) 推荐(0)

基于事件的异步模式(EAP)

摘要: 基于事件的异步模式(EAP) 阅读目录 什么是EAP异步编程模式 Demo 回到顶部 什么是EAP异步编程模式 EAP基于事件的异步模式是.net 2.0提出来的,实现了基于事件的异步模式的类将具有一个或者多个以Async为后缀的方法和对应的Completed事件,并且这些类都支持异步方法的取消、进 阅读全文

posted @ 2025-03-19 20:11 漫思 阅读(17) 评论(0) 推荐(0)

基于任务的异步模式(TAP)

摘要: 基于任务的异步模式(TAP) 阅读目录 Task async/await 回到顶部 Task .net 4.0为我们带来了Task的异步,我们有以下三种方法创建Task。 1,Task.Factory.StartNew,比较常用。 2,Task.Run,是.net 4.5中增加的。 3,Task.F 阅读全文

posted @ 2025-03-19 20:11 漫思 阅读(15) 评论(0) 推荐(0)

设计模式系列

摘要: 设计模式系列 阅读目录 7大设计原则 创建型 结构型 行为型 参考资料 源代码 包括7大设计原则和23大设计模式。 回到顶部 7大设计原则 这7大设计原则不仅是23大设计模式要去遵守的,也是我们平常开发过程中要时刻去遵守的准则,所以说非常非常重要。 1,单一职责原则 1)定义:就一个类而言,应该仅有 阅读全文

posted @ 2025-03-19 19:55 漫思 阅读(13) 评论(0) 推荐(0)

设计模式系列1:单例模式(Singleton Pattern)

摘要: 设计模式系列1:单例模式(Singleton Pattern) 阅读目录 定义 UML类图 使用场景 C#代码实现 回到顶部 定义 保证一个类仅有一个实例,并提供一个该实例的全局访问点。 --《设计模式GoF》 回到顶部 UML类图 回到顶部 使用场景 当类只能有一个实例并且用户可以从一个众所周知的 阅读全文

posted @ 2025-03-19 19:54 漫思 阅读(18) 评论(0) 推荐(0)

设计模式系列13:模板方法模式(Template Method Pattern)

摘要: 设计模式系列13:模板方法模式(Template Method Pattern) 阅读目录 定义 UML类图 使用场景 C#代码实现 回到顶部 定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 --《设计模式GoF》 阅读全文

posted @ 2025-03-19 19:54 漫思 阅读(9) 评论(0) 推荐(0)

设计模式系列19:策略模式(Stragety Pattern)

摘要: 设计模式系列19:策略模式(Stragety Pattern) 阅读目录 定义 UML类图 使用场景 关键组成部分 C#代码实现 回到顶部 定义 定义一系列算法,将它们一个个封装起来,并且使它们可以互相替换,该模式使得算法可独立于使用它的客户而变化。 --《设计模式》GoF 回到顶部 UML类图 回 阅读全文

posted @ 2025-03-19 19:54 漫思 阅读(41) 评论(0) 推荐(0)

设计模式系列6:适配器模式(Adapter Pattern)

摘要: 设计模式系列6:适配器模式(Adapter Pattern) 阅读目录 定义 UML类图 使用场景 关键组成部分 C#代码实现 回到顶部 定义 将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 --《设计模式》GoF 回到顶部 UML类图 阅读全文

posted @ 2025-03-19 19:54 漫思 阅读(36) 评论(0) 推荐(0)

当前标签:Linux操作系统系列

摘要: 1 2 下一页 Linux下Redis服务器搭建 永远的麦子 2017-10-27 14:12 阅读:4303 评论:1 推荐:0 编辑 Linux下Jenkins服务器搭建 永远的麦子 2017-09-30 11:52 阅读:1085 评论:0 推荐:1 编辑 Linux下RabbitMQ服务器搭 阅读全文

posted @ 2025-03-19 19:04 漫思 阅读(8) 评论(0) 推荐(0)

反射(4)反射性能问题:直接调用vs反射调用

摘要: 反射(4)反射性能问题:直接调用vs反射调用 阅读目录 直接调用vs反射调用 为什么反射有性能损失 反射性能优化方案 参考文章 很多人都说使用反射会有性能问题,那到底会比直接调用慢多少呢,下面就来测试一下。 回到顶部 直接调用vs反射调用 下面就来写个demo来验证下直接调用和反射调用的性能差异,代 阅读全文

posted @ 2025-03-19 19:03 漫思 阅读(68) 评论(0) 推荐(0)

反射(3)反射应用:一个插件项目

摘要: 反射(3)反射应用:一个插件项目 阅读目录 项目结构 定义插件接口 插件程序实现 运行程序 前面总结了反射的使用,这一篇结合一个完整的项目来总结下反射的实际应用。 回到顶部 项目结构 如下图: 回到顶部 定义插件接口 在项目ConsoleApplication6.IService中,定义了两个接口, 阅读全文

posted @ 2025-03-19 19:02 漫思 阅读(11) 评论(0) 推荐(0)

反射(2)使用反射

摘要: 反射(2)使用反射 阅读目录 加载程序集 查找程序集内所有类型 查找类型成员 构造类型实例 访问实例成员 反射对泛型的支持 这一篇文章来总结下怎么使用反射的。 回到顶部 加载程序集 要加载程序集,可以调用 Assembly的LoadXXX系列方法。 1,Assembly.Load方法 1 //1,从 阅读全文

posted @ 2025-03-19 19:02 漫思 阅读(17) 评论(0) 推荐(0)

反射(1)认识反射

摘要: 反射(1)认识反射 阅读目录 什么是反射 为什么要使用反射 反射的应用场景 程序集 反射是.net中非常有用的特性。 回到顶部 什么是反射 可以用一句话来概括就是:基于程序集和元数据,可以动态创建某个类型的实例,调用方法,和访问对象成员的一种能力。 回到顶部 为什么要使用反射 在编译时无法确定要调用 阅读全文

posted @ 2025-03-19 19:02 漫思 阅读(11) 评论(0) 推荐(0)

委托(1)认识委托

摘要: 委托(1)认识委托 阅读目录 什么是委托 为什么要使用委托 委托的应用场景 委托是.net中非常重要的特性,自.net 1.x版本就包含了,委托在项目开发过程中应用得非常多,但是一直以来很多同学对其理解得不是非常清楚(也包括我,虽然做开发很多年了,可能很多地方不知不觉也使用到了委托,但是仍然不是很清 阅读全文

posted @ 2025-03-19 19:01 漫思 阅读(16) 评论(0) 推荐(0)

委托(5)委托和事件

摘要: 委托(5)委托和事件 阅读目录 使用事件实现 使用委托实现 事件和委托 在面试的时候经常会被问到,委托和事件的联系和区别?之前也一直没有彻底搞明白,下面就来总结一下。 从一个有趣的需求入手。有三个角色,猫,老鼠和主人,当猫叫的时候,老鼠开始逃跑,主人则从睡梦中惊醒。 回到顶部 使用事件实现 如下代码 阅读全文

posted @ 2025-03-19 19:01 漫思 阅读(11) 评论(0) 推荐(0)

委托(4).net 3.5中的委托

摘要: 委托(4).net 3.5中的委托 阅读目录 .net 3.5中的委托 省略参数类型 使用语句替换表达式 .net 3.5引入了Linq,lambda表达式,所以委托的创建变得更加简单和优雅了。 回到顶部 .net 3.5中的委托 引入lambda表达式后,就不需要再使用匿名方法了,使得创建委托的方 阅读全文

posted @ 2025-03-19 19:01 漫思 阅读(5) 评论(0) 推荐(0)

委托(3).net 2.0中的委托

摘要: 委托(3).net 2.0中的委托 阅读目录 .net 2.0中的委托 由于.net 2.0引入了匿名方法,所以创建委托的方式可以更简化了。 回到顶部 .net 2.0中的委托 有了匿名方法,上一篇的例子可以简化为: 1 namespace DelegateDemo 2 { 3 //声明委托 4 p 阅读全文

posted @ 2025-03-19 19:00 漫思 阅读(5) 评论(0) 推荐(0)

导航