分享实战中内存泄漏解决思路。Part1 初步分析原因Part2 查找内存泄漏的根本原因Part2.1 解决方案Part3 总结Part4 彩蛋一、概要大概在今年三月份的时候突然被紧急调到另外一个项目组解决线上内存泄漏问题。经过两周的玩命奋战终于解决了这个问题这里把心路历程及思路分享给大家。希望可以帮助到各位或现在正遇到这样事情的小伙伴提供一些思路。二、场景当
......
324
0
0
2023-01-09
一、概要大家好,本次继续分享自己的学习经历。本文主要分享Task异步编程内容,如果能帮助大家希望多多关注文章末尾的微信公众号和知乎三连。各位举手之劳是对我更新技术文章最大的支持。二、详细内容1.同步异步同步操作会在返回调用者之前完成它的工作异步操作会在返回调用者之后去做它的工作异步的方法更为少见,会启用并发,因为他的工作会与调用者并行执行目前见到的大部分的异
......
467
0
0
2023-01-09
一、概要大家好,本次继续分享自己的学习经历。本文主要分享异步编程中Task的使用,如果能帮助大家希望多多关注文章末尾的微信公众号和知乎三连。各位举手之劳是对我更新技术文章最大的支持。个人心得:Task是一个升级版本的Thread的类,它非常的灵活支持取消、阻塞等待、合并多个Task协同操作、编码高效易懂、异常传播、回调传递结果或调用方法等。本文相关文献查阅地
......
393
0
0
2023-01-09
c#异步编程-线程近期会分享自己学习c#异步编程系列的文章,如果能帮助大家希望多多关注文章末尾的微信公众号和知乎三连。各位举手之劳是对我更新技术文章最大的支持。1.线程线程是一个可执行的路径,它可以独立于其他线程执行。每个线程都在操作系统的进程内执行,而操作系统进程提供了程序运行的独立环境。单线程应用,在进程的独立环境里只跑一个线程,所以该线程拥有独占权。多
......
482
0
0
2023-01-09
作者:码云 Gitee链接:https://www.zhihu.com/question/27993498/answer/1014561869来源:知乎除了微软本家的还有啥好的项目推荐哇(⊙o⊙)?据说很多被迫使用 C# 的人最后都真香了?C# 确实有很多让人惊艳的地方,如果想要学习C#语言,多找几个开源项目进行实践,必能事半功倍。下面推荐几个 Gitee
......
384
0
0
2023-01-09
写在前面 Composite组合模式属于设计模式中比较热门的一个,相信大家对它一定不像对访问者模式那么陌生,毕竟谁又没有遇到过树形结构呢。不过所谓温故而知新,我们还是从一个例子出发,起底一下这个模式吧。 一个简单例子 设想我们要建立一个公司的人事架构,在一个公司里,我们可以简单地分为两种员工,一种是经理(包括老板),另一种是基层员工,经理可以有下属,而普通
......
385
0
0
2023-01-08
前言 Visitor模式在日常工作中出场比较少,如果统计大家不熟悉的模式,那么它榜上有名的可能性非常大。使用频率少,再加上很多文章提到Visitor模式都着重于它克服语言单分派的特点上面,而对何时应该使用这个模式及这个模式是怎么一点点演进出来的提之甚少,造成很多人对这个模式有种雾里看花的感觉,今天跟着老胡,我们一起来一点点揭开它的面纱吧。 模式演进 举个例
......
357
0
0
2023-01-08
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。1你为什么要这样做?尽管我很喜欢 .NET 生态系统,但有些事情,JavaScript 生态系统做得更好。其中
......
322
0
0
2023-01-07
01—死锁的原理线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,并且互相等待对方释放资源,导致这些线程都处于等待状态,无法继续执行。如果线程都不主动释放所占有的资源,将产生死锁。如果死锁发生在UI线程,则会导致界面停止响应。死锁的条件:1.互斥条件:线程对于所分配到的资源具有排它性,即一个资源只能被一个线程占用,直到被该线程释放2.请求和保持条件:
......
320
0
0
2023-01-07
前言上一篇我们着重讲解了TPL任务并行库,可以看出TPL已经很符合现代API的特性:简洁易用。但它的不足之处在于,使用者难以理解程序的实际执行顺序。为了解决这些问题,在C# 5.0中,引入了新的语言特性,被称为异步函数(asynchronous function)。对应的.Net版本为.Net Framework 4.5。最后一个异步编程模型:异步函数概述由
......
323
0
0
2023-01-07
前言我们在此前已经介绍了APM模型和EAP模型,以及它们的优缺点。在EAP模型中,可以实时得知异步操作的进度,以及支持取消操作。但是组合多个异步操作仍需大量工作,编写大量代码方可完成。因此,在.Net Framework 4.0中,引入了一个新的关于异步操作的模型,叫做任务并行库,简称为TPL。第三个异步编程模型:TPL概述TPL,全称为Task Paral
......
329
0
0
2023-01-07
前言在上一篇博文中,我们提到了APM模型实现异步编程的模式,通过使用APM模型,可以简化.Net中编写异步程序的方式,但APM模型本身依然存在一些缺点,如无法得知操作进度,不能取消异步操作等。针对这些缺点,微软在.Net 2.0中提出了基于事件的异步模式,简称为EAP模型。第二个异步编程模型:EAP概述EAP,全称Event-based Asynchrono
......
276
0
0
2023-01-07
前言在.Net程序开发过程中,我们经常会遇到如下场景:编写WinForm程序客户端,需要查询数据库获取数据,于是我们根据需求写好了代码后,点击查询,发现界面卡死,无法响应。经过调试,发现查询数据库这一步执行了很久,在此过程中,UI被阻塞,无法响应任何操作。如何解决此问题?我们需要分析问题成因:在WinForm窗体运行时,只有一个主线程,即为UI线程,UI线程
......
290
0
0
2023-01-07
WPF ComboBox 使用 ResourceBinding 动态绑定资源键并支持语言切换独立观察员 2021 年 8 月 23 日我们平常在 WPF 中进行资源绑定操作,一般就是用 StaticResource 或者 DynamicResource 后面跟上资源的 key 这种形式,能满足大部分需求。但是有的时候,我们需要绑定的是代表了资源的 key 的
......
304
0
0
2023-01-07
WPF 表格控件 ReoGrid 的简单使用目录一、概述二、安装三、添加控件四、加载 Excel五、属性设置六、支持触摸滚动七、其它操作1、显示和隐藏列2、显示特定字体八、资源链接独立观察员 2021 年 7 月 9 日一、概述ReoGrid 是一个开源的表格控件库,支持 Winform 和 WPF。本文演示在 WPF 中的使用,用的是直接加载 Excel
......
709
0
0
2023-01-07