Task的使用(转)



转自:http://www.cnblogs.com/huangxincheng/archive/2012/04/03/2430638.html原标题:8天玩转并行开发——第二天 Task的使用     在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于“任务的编程模型”所冲击,因为task会比th...

面试题:分词统计

题目:给定一个目录,统计该目录及其子目录下所有文件内容中的词频,并输出最多的词频。假设所有的文件都是txt格式,且所有的内容都是英文。分析:1、可以用Dictionary来存储每个词的出现次数2、时间复杂度至少为O(n)似乎无法再进行优化了。那么我们通过多线程来并行处理。C#多线程非常方便。代码如下:using System; using System.Collections...

vs2013 查看程序性能



一个程序运行时间太慢,如何查看那部分是性能瓶颈呢?最原始的方法,每个程序写一个stopwatch,通过输出来进行判断。其实vs2013已经帮我们集成好了程序性能分析工具。菜单debug -》performance and diagnostics选择性能指标,比如CPU、GPU还是内存运行即可。

深入理解async和await(一)



C#中的await和async,一直都不是非常明白,其里头的具体机制如何?让我们先看一下下面的程序。using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using Syste...

C# 线程池详解(转)

一、ThreadPool类GetMaxThreads()    //  获取可以同时处于活动状态的线程池请求的最大数目。所有大于此数目的请求将保持排队状态,直到线程池线程变为可用。              参数1:workerT...

.NET 中的 async/await 异步编程(转)



前言最近在学习Web Api框架的时候接触到了async/await,这个特性是.NET 4.5引入的,由于之前对于异步编程不是很了解,所以花费了一些时间学习一下相关的知识,并整理成这篇博客,如果在阅读的过程中发现不对的地方,欢迎大家指正。同步编程与异步编程通常情况下,我们写的C#代码就是同步的,运行在同一个线程中,从程序的第一行代码到最后一句代码顺序执行。而异步编程的核心是使用多线程,通过让不同...

c#前台线程与后台线程的区别和联系(转)

转自:http://www.cnblogs.com/tianzhiliang/archive/2011/03/03/1970042.html     .Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用...

Thread.Sleep(1000) 、Task.Delay(1000).Wait() 区别(转)

1、文章:https://code.msdn.microsoft.com/ThreadSleep-vs-TaskDelay-766b46b72、Thread.Sleep 是同步延迟。 Task.Delay异步延迟。3、Thread.Sleep 会阻塞线程,Task.Delay不会。4、Thread.Sleep不能取消,Task.Delay可以。5、反编译Task.Delay,基本上讲它就是个包裹在...

C#动态加载web service

我有多个工程,其中一个工程A引用另外一个工程B的代码,而工程B应用了一个web服务。在B中的Config文件中定义了相关引用。但A工程却编译不了,抛出异常:Could not find default endpoint element that references contract 'XXXX...

软件版本的含义

大家或许已经注意到了,网上下载的软件常常标有beta版、demo版等软件版本信息,这些版本信息实际上有其内在的含义。下面我们就将一些常见的软件版本信息向大家做一详细的介绍。 测试版与演示版 α版 此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多,普通用户最好不要安装。 β(beta)版 该版本相对于α版已...