随笔分类 -  C#

摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 多线程 { class Program { static void Main(string[] args) ... 阅读全文
posted @ 2019-06-11 14:18 DarJeely 阅读(630) 评论(1) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Lambda //匿名方法,用来实现委托 { class Program { delegate string ... 阅读全文
posted @ 2019-06-11 14:16 DarJeely 阅读(224) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.... 阅读全文
posted @ 2019-06-11 12:32 DarJeely 阅读(152) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Diagnostics; namespace Async_Study { class Pro... 阅读全文
posted @ 2019-06-11 11:52 DarJeely 阅读(128) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Threading; namespace Model { /// /// 日志文件帮助类 /// public class Lo... 阅读全文
posted @ 2019-06-11 10:47 DarJeely 阅读(263) 评论(0) 推荐(0)
摘要:using System; using System.Threading; using System.Collections.Generic; using System.Windows.Forms; namespace AsyncDemo { public partial class Form1 : Form { public Form1() {... 阅读全文
posted @ 2019-06-11 10:07 DarJeely 阅读(589) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Thread... 阅读全文
posted @ 2019-06-11 09:50 DarJeely 阅读(362) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Diagnostics; using System.Threading.Tasks; using Sys... 阅读全文
posted @ 2019-06-11 09:41 DarJeely 阅读(203) 评论(0) 推荐(0)
摘要:1. 引言 最近在学习Abp框架,发现Abp框架的很多Api都提供了同步异步两种写法。异步编程说起来,大家可能都会说异步编程性能好。但好在哪里,引入了什么问题,以及如何使用,想必也未必能答的上来。自己对异步编程也不是很了解,今天就以学习的目的,来梳理下同步异步编程的基础知识,然后再来介绍下如何使用a 阅读全文
posted @ 2019-06-11 09:24 DarJeely 阅读(1868) 评论(0) 推荐(3)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace AsyncAndAwaitLearn { class Program { ... 阅读全文
posted @ 2019-06-11 08:57 DarJeely 阅读(136) 评论(0) 推荐(0)
摘要:最后一篇,我们来说说vs的“性能向导",通常我们调试程序的性能一般会使用Stopwatch,如果希望更加系统的了解程序,我们就需要 用到”性能向导“,通过性能报告便于我们快速的发现并找到潜在的性能问题。 首先我们上一段需要改进的代码: 记住,我们的程序需要改成Release版本,因为这里包含了太多的 阅读全文
posted @ 2019-06-10 18:09 DarJeely 阅读(213) 评论(0) 推荐(0)
摘要:其实说到上一篇,我们要说的task的知识也说的差不多了,这一篇我们开始站在理论上了解下“线程池”和“任务”之间的关系,不管是 说线程还是任务,我们都不可避免的要讨论下线程池,然而在.net 4.0以后,线程池引擎考虑了未来的扩展性,已经充分利用多核微处理器 架构,只要在可能的情况下,我们应该尽量使用 阅读全文
posted @ 2019-06-10 18:08 DarJeely 阅读(244) 评论(0) 推荐(0)
摘要:在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装 起来,可能有人会问,这样做有什么好处,下面一一道来。 一: Begin/End模式 1: 委托 在执行委托方法的时候,我们常常会看到一个Invoke,同时也有 阅读全文
posted @ 2019-06-10 18:07 DarJeely 阅读(151) 评论(0) 推荐(0)
摘要:承接上一篇,我们继续说下.net4.0中的同步机制,是的,当出现了并行计算的时候,轻量级别的同步机制应运而生,在信号量这一块 出现了一系列的轻量级,今天继续介绍下面的3个信号量 CountdownEvent,SemaphoreSlim,ManualResetEventSlim。 一:Countdow 阅读全文
posted @ 2019-06-10 18:06 DarJeely 阅读(266) 评论(0) 推荐(0)
摘要:在并行计算中,不可避免的会碰到多个任务共享变量,实例,集合。虽然task自带了两个方法:task.ContinueWith()和Task.Factory .ContinueWhenAll()来实现任务串行化,但是这些简单的方法远远不能满足我们实际的开发需要,从.net 4.0开始,类库给我们提供了很 阅读全文
posted @ 2019-06-10 18:05 DarJeely 阅读(182) 评论(0) 推荐(0)
摘要:在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于 “任务的编程模型”所冲击,因为task会比thread具有更小的性能开销,不过大家肯定会有疑惑,任务和线程到底有什么区别? 1:任务是架构在线程之上的,也就是说任务最终还是要抛 阅读全文
posted @ 2019-06-10 18:03 DarJeely 阅读(202) 评论(0) 推荐(0)
摘要:相信在.net平台下,我们都玩过linq,是的,linq让我们的程序简洁优美,简直玩的是爱不释手,但是传统的linq只是串行代码,在并行的 年代如果linq不支持并行计算那该是多么遗憾的事情啊。 当然linq有很多种方式,比如linq to sql ,xml,object 等等,如果要将linq做成 阅读全文
posted @ 2019-06-10 18:03 DarJeely 阅读(326) 评论(0) 推荐(0)
摘要:随着多核时代的到来,并行开发越来越展示出它的强大威力,像我们这样的码农再也不用过多的关注底层线程的实现和手工控制, 要了解并行开发,需要先了解下两个概念:“硬件线程”和“软件线程”。 1. 硬件线程 相信大家手头的电脑都是双核以上的,像我这样古董的电脑都是双核的,这样的双核叫做物理内核。 硬件线程又 阅读全文
posted @ 2019-06-10 18:00 DarJeely 阅读(316) 评论(0) 推荐(0)
摘要:5天玩转C#并行和多线程编程 —— 第五天 多线程编程大总结 5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task 阅读全文
posted @ 2019-06-10 17:57 DarJeely 阅读(313) 评论(0) 推荐(0)
摘要:5天玩转C#并行和多线程编程 —— 第四天 Task进阶 5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task 5天 阅读全文
posted @ 2019-06-10 17:54 DarJeely 阅读(238) 评论(0) 推荐(0)