03 2010 档案

摘要:早在2001年的时候,IBM就推出了在一个CPU上集成两个运算核心的服务器,但桌面双核的到来却是2005年4月18号,Intel发布了其历史上第一颗双核CPU-奔腾至尊版840,从此,千千万万的普通用户也进入了多核时代。随着多核的到来,以前随CPU频率的提高而带来的性能提升已经成为历史,软件开发人员必须去面对多核编程,而其中绕不过的一个中心就是多线程。本文围绕Windows平台展开,讨论.NET所... 阅读全文
posted @ 2010-03-28 22:09 残香恨 阅读(658) 评论(0) 推荐(0) 编辑
摘要:随着 .NET 4.0的到来,她与以前各版本的一个明显差别就是并行功能的增强,以此来适应这个多核的世界。于是引入了一个新概念---任务,作为支持并行运算的重要组成部分,同时,也作为对线程池的一个补充和完善。从所周知,使用线程池有两个明显的缺点,那就是一旦把我们要执行的任务放进去后,什么时候执行完成,以及执行完成后需要返回值,我们都无法通过内置的方式而得知。由于任务(Task)的推出,使得我们对并行... 阅读全文
posted @ 2010-03-23 00:44 残香恨 阅读(11328) 评论(3) 推荐(7) 编辑
摘要:.NET 4.0引入了一个新概念,叫动态绑定。所谓绑定,就是对类型、成员和操作的解析过程。动态绑定意味着与编译器无关,而与运行时有关。 一、 基本概念 C# 4.0之前的变量声明,在编译时已经决定其类型,虽然C# 3.0提供了var关键字来声明隐式类型,但用var声明的变量终究逃不过编译器的法眼。用dynamic声明变量的好处是,编译器在编译时并不知道它引用对象的确切类型,而要到运行时才知道。因此... 阅读全文
posted @ 2010-03-15 01:08 残香恨 阅读(8941) 评论(0) 推荐(1) 编辑
摘要:用过.NET线程池的程序员都知道通过调用ThreadPool类的QueueUserWorkItem方法把要执行的代码放入线程池去执行。由于.NET FCL的强大,使得这个操作极其简便。但使用线程池有个明显的不足之处,那就是我们无法获取线程池执行方法的返回值,因为WaitCallback委托的返回值为void。注:WaitCallback委托的原型为:public delegate void Wai... 阅读全文
posted @ 2010-03-04 00:40 残香恨 阅读(6301) 评论(10) 推荐(1) 编辑

点击右上角即可分享
微信分享提示