0

跟小静读CLR via C#(18)——Enum

1. Enum定义 枚举类型是经常用的一种“名称/值”的形式,例如: public enum FeedbackStatus { New, Processing, Verify, Closed }定义枚举类型之后我们在使用时方便了许多,不用再记着0代表什么状态,1代表什么状态。而且枚举类型时强类型的,...

丫头小静(Cathy) 发布于 2012-02-06 14:39 评论(3) 阅读(143)
5

跟小静读CLR via C#(17)--接口

CLR不允许继承多个基类,但是可以继承多个接口。凡是能使用具名接口类型的实例的地方,都能使用实现了接口的一个类型的实例。 接口是对一组方法签名进行了统一命名,但不提供任何实现,而具体类则必须为继承的全部接口提供实现。 1. 定义接口 接口是用interface关键字定义对一组方法签名,接口名称一般以...

丫头小静(Cathy) 发布于 2012-02-06 11:46 评论(13) 阅读(1344)
1

多线程之旅——从概念开始

对概念的理解是我们做任何事情的基础,因此我们从概念开始吧程序执行顺序是按照串行执行的假设:比如我们读诗词,默认从上到下1.床 前 明 月 光, 2.疑 是 地 上 霜。 3.举 头 望 明 月, 4.低 头 思 故 乡。而多线程以后,就很有可能变成3.举 头 望 明 月,1.床 前 明 月 光, 1...

浪雪 发布于 2012-02-05 19:45 评论(2) 阅读(1356)
2

Thread 编程:简明(1) - 协作式取消 VS 线程终止

之前,我就开始关注Thread的知识。看过计算限制异步操作、I/O限制异步操作、Task、Parallel、APM、AsyncEnumerator…也做了相应的笔记。可是,具体Coding起来,还是会感到举步艰难。Why?复杂的知识让我复杂的想问题。上午,看了Jimmy Zhang的如何在30岁前年...

木木子 发布于 2012-02-02 14:54 评论(2) 阅读(834)
0

Finalization / Freachable queue in .Net

When an application instantiates a newobject, if the object'stypedefines a Finalize method, a pointer to the object is placed on the finalization ...

chenlulouis 发布于 2012-01-11 14:50 评论(0) 阅读(32)
9

给C#学习者的建议 - CLR Via C# 读后感

CLR Via C# 是一本经典的讲述CLR的教材,一直想好好读读,却一直没有去读。去年年末,终于下决心,买了一本纸质的CLR Via C#,元旦这几天在家里闭门读书(3天元旦 + 2天自己的带薪假期)。 其实,早就在网络上下载过了电子版的英语的CLR Via C#了,不过,电子书的问题也很明显,由...

magicDict 发布于 2012-01-08 12:50 评论(22) 阅读(3538)
1

探秘.Net 4.0的StringBuilder实现

引言 .Net 4.0重构了StringBuilder的实现,采用了新的数据存储方式,不仅在效率上有大的提高,并且彻底避免了中间处理过程出现临时String对象进入LOH大对象堆的情况。本文对此进行分析。 回顾.Net 2.0的StringBuilder实现 Reflector查看StringBui...

hbzhang 发布于 2012-01-06 00:35 评论(0) 阅读(127)
18

跟小静读CLR via C#(16)--泛型

泛型就像是一个模板,常常定义一些通用的算法,具体调用时再替换成实际的数据类型,提高了代码的可重用性。 一、初识泛型1. 简单实例以最常用的FCL中的泛型List<T >为例: static void Main(string[] args) { List<int> num = ...

丫头小静(Cathy) 发布于 2011-12-21 16:48 评论(43) 阅读(2742)
0

异步编程相关的APM、Lambda、CCR、AsyncEnumerator(CLR)

传统异步编程操作.NET平台的异步编程方式是APM(Asynchronous Programing Model,异步编程模式)。就是常见的BeginOperation和EndOperation二段式调用,并使用回调函数(AsyncCallback)和异步状态(IAsyncResult)。简单例子:F...

木木子 发布于 2011-12-19 17:43 评论(0) 阅读(81)
0

I/O限制异步操作-Windows是如何执行I/O操作(CLR)

(copy from 《CLR via C#》Chapter 27)如图所示,用FileStream访问磁盘文件,然后用FileStream's Read方法从该File读取Data。当调用FileStream's Read方法时,当期线程将托管Code转换为本地/用户代码,调用Wi...

木木子 发布于 2011-12-18 11:26 评论(0) 阅读(83)
1

计算限制异步操作的其他知识-Parallel、PLinQ、Timer(CLR)

笔记大概闲谈Parallel类Parallel与LINQTimer类闲谈前不久,把CLR via C#的Chapter 26 Computer-Bound Asynchronous Operations内容看完了,接着往下看I/O-Bound Asynchronous Operations,到了Je...

木木子 发布于 2011-12-12 13:22 评论(0) 阅读(73)
0

WCF自定义地址路由映射(不用svc文件)

一般在创建WCF服务时会用Serivce.svc文件访问,地址如:http://localhost/applicationname/Serivce.svc/Name现在用路由映射成:http://localhost/applicationname/MyService/Name 方法如下:首先在Glo...

therockthe 发布于 2011-12-04 10:27 评论(0) 阅读(106)
0

Thread编程:Task(CLR)

简要杂谈TaskTask的简单例子取消TaskTask自动运行子Task深入TaskTask工厂Task Schedulers杂谈Task在上篇中用了ThreadPool’s QueueUserWorkItem方法很简单的实现了.NET的多线程编程。但,用线程池是用限制的:线程池不会告诉你的方法是否...

木木子 发布于 2011-12-02 11:13 评论(0) 阅读(136)
0

《CLR Via C# 第3版》笔记之(二十二) - APM和EAP

APM的介绍请参见《CLR Via C# 第3版》笔记之(二十一) - 异步编程模型(APM)。EAP是Event-based Asynchronous Pattern的缩写,指基于事件的异步模式。主要内容:EAP和APM的比较APM转换为TaskEAP转换为Task1. EAP和APM的比较EAP...

wang_yb 发布于 2011-12-01 16:19 评论(0) 阅读(143)
1

《CLR Via C# 第3版》笔记之(二十一) - 异步编程模型(APM)

APM是.NET中异步编程模型的缩写(Asynchronous Programing Model)。通过异步编程,使得我们的程序可以更加高效的利用系统资源。主要内容:一个APM的例子GUI中的APMAPM的优劣点AMP使用中的注意事项1. 一个APM的例子.Net中的异步模型非常完善,只要看到Beg...

wang_yb 发布于 2011-11-29 16:22 评论(0) 阅读(146)
2

Thread基础-计算限制的异步操作(CLR)

本章笔记内容:闲话CLR线程池基础;执行简单的计算限制操作;执行上下文;协作式取消;闲话该笔记记录的是Jiffrey Richter《CLR via C#》 3rd Edition的chapter 26 Compute-Bound Asynchronous Operations的前四节内容。Jiff...

木木子 发布于 2011-11-28 23:41 评论(0) 阅读(147)
14

跟小静读CLR via C#(15)--String,熟悉而又陌生

好久没写文章了,再拿起这本书,学习加分享,乐趣无穷啊。这两天看了写关于字符串的知识,从学写代码的时候开始,我们就基本天天跟String打交道,对它再熟悉不过了。但是仔细看看,还是有一种拨开云雾的感觉,对平日里的一些问题顿然明白了。 一、 string实例化 1. 创建string对象 string ...

丫头小静(Cathy) 发布于 2011-11-25 12:12 评论(69) 阅读(2761)
2

使用强命名程序集防范篡改

CLR支持两种程序集:强命名程序集、弱命名程序集,两者的区别在于,强命名程序集是被发布者使用了自己的公钥/私钥对进行了程序集的签名,能唯一性标识程序集的发布者的程序集,并且可以使用密钥对程序集进行唯一性标识、保护和版本控制,这里所提到的保护就是我们需要一起讨论的程序集防篡改...

MitnickZhou 发布于 2011-11-20 19:22 评论(7) 阅读(922)
10

不用IDE写C#的Hello World

用 Visual Studio等IDE写C#的Hello World非常简单,但脱离了IDE你能不能打印出Hello World呢?这不是说工作时脱离IDE,而是学习一下CLR的执行模型....

zhangweiwen 发布于 2011-11-20 13:40 评论(15) 阅读(2525)
0

《CLR Via C# 第3版》笔记之(二十) - 计时器及伪共享

计时器在很多应用场景中广泛应用,System.Threading命名空间下,有个Timer类可以完成计时器的操作。下面来讨论下Timer类的使用及多个CPU内核同时运行线程时如何共享高速缓存(cache)的。主要内容:计时器的使用CPU高速缓存的伪共享1. 计时器的使用1.1 计时器的创建及改变设置...

wang_yb 发布于 2011-11-11 15:01 评论(0) 阅读(113)

推荐博客(按更新时间)

×