
后端开发
sgmcumt
规划法规和
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#扩展方法
概念扩展方法(Extension Methods)是C#3.0时引入的新特性,是一种特殊类型的静态方法。对于一个C#类型,如类、引用类型、值类型、接口等,扩展方法可以在不改变该类型源码的前提下,为它的实例提供新的成员。因此,若要为一个框架或第三方库的某个类型增加辅助功能,通过扩展方法就可以轻而易举的实现。定义声明扩展方法的类必须为static类;扩展方法本身也必须声明为static;扩...原创 2019-02-28 20:55:48 · 7747 阅读 · 0 评论 -
C# Control的Invoke和BeginInvoke方法的区别
首先我们要清楚Delegate.Invoke/BeginInvoke和Control.Invoke/BeginInvoke是不同的,他们的区别,简单理解如下:Delegate.Invoke:在同一个线程上同步执行。Delegate.BeginInvoke:在线程池线程上异步执行。Control.Invoke:在创建控件的基础窗口句柄的线程上执行委托。Control.BeginInvoke...原创 2019-05-24 16:33:36 · 853 阅读 · 0 评论 -
异步编程-提高篇
public FrmCalllBack(){ InitializeComponent(); //【4】初始化委托变量 this.objMyCal = new MyCalculator(ExecuteTask); //也可以直接使用Lambda表达式 this.objMyCal = (num, ms) => { ...原创 2019-02-28 21:11:14 · 209 阅读 · 0 评论 -
异步编程-基础篇
【1】定义委托public delegate int MyCalculator(int num);【2】根据委托实现方法private int ExecuteTask1(int num){ System.Threading.Thread.Sleep(5000);//延迟5秒... return num * num;}private int ExecuteT...原创 2019-02-28 21:10:44 · 248 阅读 · 0 评论 -
.NET 异步多线程
记录一下异步多线程的进阶历史,以及简单的使用方法主要还是以Task,Parallel为主,毕竟用的比较多的现在就是这些了,再往前去的,除非是老项目,不然真的应该是挺少了,大概有个概念,就当了解一下进化史了1、委托异步多线程,所有的异步都是基于委托来实现的#region 委托异步多线程{ //委托异步多线程 Stopwatch watch = new Stopwatch();...原创 2019-02-28 21:09:57 · 4558 阅读 · 0 评论 -
C#语法——await与async的正确打开方式
文章目录正确的打开方式结语C#5.0推出了新语法,await与async,但相信大家还是很少使用它们。关于await与async有很多文章讲解,但有没有这样一种感觉,你看完后,总感觉这东西很不错,但用的时候,总是想不起来,或者不知道该怎么用。为什么呢?我觉得大家的await与async的打开方式不正确。正确的打开方式首先看下使用约束。1、await 只能在标记了async的函数内使用。...原创 2019-02-28 21:09:17 · 322 阅读 · 0 评论 -
.NET异步编程总结----四种实现模式
实现异步编程有4种方法可供选择,这4种访求实际上也对应着4种异步调用的模式,分为“等待”和“回调”两大类。四种方法,我在代码中都进行了详细的注释,这里不罗嗦了,直接用代码说明吧第一种方法:BeginEnvoke EndEnvoke方法,属于“等待”类。using System;using System.Collections.Generic;using System.Linq;using...原创 2019-02-28 21:08:42 · 396 阅读 · 0 评论 -
多线程教程--多线程基础
1 定义线程(thread):是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。2 线程的开销2.1 线程内核对象(thread kernel object)OS为系统中创建的每个线程都分配并初始化包含一组对线程描述的属性和线程上下文的数据结构。对于X86,X6...原创 2019-02-28 21:07:50 · 316 阅读 · 0 评论 -
c#异步和多线程的区别
异步操作的本质所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA的模式指标,其实网卡、声卡、显卡也是有DMA功能的。DMA就是直 接内存访问的意思,也就是说,拥有DMA功能的硬件在和内存进行数据交换的时候可以不消耗CPU资源。只要CPU在发起数据传输时发送一个指...原创 2019-02-28 21:06:16 · 4306 阅读 · 0 评论 -
csproj内容解析
文章目录指定目标框架指定多个目标框架新增其它项目属性项目引用普通NuGet包引用添加引用NuGet包的条件托管程序集引用添加COM组件引用本机文件引用项目引用编译嵌入式资源None输入其它使用C#很长时间都没太关注,最近查看一些开源软件,有时候需要在csproj更改项目的配置信息,不得不熟悉里面的配置内容。如果只是想了解csproj文件的配置项的含义,不太关注配置内容的细节,可以查看理解 C#...原创 2019-10-10 20:42:15 · 8031 阅读 · 0 评论