C#并发编程-4 同步

如果程序用到了并发技术,那就要特别留意这种情况:一段代码需要修改数据,同时其他代码需要访问同一个数据。这种情况就需要考虑同步地访问数据。如果下面三个条件都满足,就必须用同步来保护共享的数据。

PerfView专题 (第三篇):如何寻找 C# 中的 VirtualAlloc 内存泄漏
PerfView专题 (第三篇):如何寻找 C# 中的 VirtualAlloc 内存泄漏

一:背景上一篇我们聊到了如何用PerfView去侦察NTHeap的内存泄漏,这种内存泄漏往往是用C的malloc或者C++的new分配而不释放所造成的,这一篇我们来聊一下由

使用WinDbg调试程序异常和死锁等问题
使用WinDbg调试程序异常和死锁等问题

一、在使用WinDbg调试之前,我们先使用VS的调试功能  1、文件->打开->文件->打开Dump文件     2、调试->选项->调试->符号->添加该应用的.p

使用Nginx在 Linux 上托管 ASP.NET Core 6.0应用:GitHub Actions自动部署
使用Nginx在 Linux 上托管 ASP.NET Core 6.0应用:GitHub Actions自动部署

使用Nginx在Linux上托管ASP.NETCore6.0应用:GitHubActions自动部署前言本文主要参考微软这篇文档而来HostASP.NETCoreonLinu

.NET异步编程模式(一)

.NET提供了三种异步编程模型TAP-task-basedasynchronouspatternAPM-asynchronousprogrammingmodelEAP-e

.NET异步编程模式(二)
.NET异步编程模式(二)

在C#1的时候就包含了APM,在APM模型中,异步操作通过IAsyncResult接口实现,包括两个方法BeginOperationName和EndOperationName,分别

.NET异步编程模式(三)
.NET异步编程模式(三)

EAP(Event-basedAsynchronousPattern)是基于事件的异步模式,在.NETFramework2.0中引入。EAP需要一个有Async后缀方法和一个或多个

PerfView专题 (第四篇):如何寻找 C# 中程序集泄漏
PerfView专题 (第四篇):如何寻找 C# 中程序集泄漏

一:背景前两篇我们都聊到了非托管内存泄漏,一个是HeapAlloc,一个是VirtualAlloc,除了这两种泄漏之外还存在其他渠道的内存泄漏,比如程序集泄漏,这一篇我们就来聊一聊。二:程

ASP.NET Core依赖注入系统学习教程:容器对构造函数选择的策略
ASP.NET Core依赖注入系统学习教程:容器对构造函数选择的策略

.NETCore的依赖注入容器之所以能够为应用程序提供服务实例,这都归功于ServiceDescriptor对象提供的服务注册信息。另外,在ServiceDescriptor对象中,还为容器准备了3

它把RabbitMQ的复杂全屏蔽了,我朋友用它后被老板一夜提拔为.NET架构师
它把RabbitMQ的复杂全屏蔽了,我朋友用它后被老板一夜提拔为.NET架构师

本文技术源自外企,并已在多个世界500强大型项目开发中运用。本文适合有初/中级.NET知识的同学阅读。(支持.NET/.NETFramework/.NETCore) RabbitMQ作为一款

MySQL
MySQL

字符编码与配置文件#由于5.6版本编码不统一会造成乱码我们需要把它统一修改成》:utf81.MySQL里的my-default.ini是windows下MySQL默认的配置文件2.拷贝文

PerfView专题 (第五篇):如何寻找 C# 托管内存泄漏
PerfView专题 (第五篇):如何寻找 C# 托管内存泄漏

一:背景前几篇我们聊的都是非托管内存泄漏,这一篇我们再看下如何用PerfView来排查托管内存泄漏,其实托管内存泄漏比较好排查,尤其是用WinDbg,毕竟C#是带有丰富的元数据,不像