摘要: http://developer.51cto.com 2009-07-02 10:07 黄永兵 译 51CTO.com 我要评论(0)http://developer.51cto.com/art/200907/133278.htm本文探索了C# 4.0中新的动态类型、命名参数和可选参数,文中的C# 4.0动态类型实例全部在Visual Studio 2010 Beta版本中进行。Dynamic关键字可以算是C# 4.0中新增的最重要的特性了。【51CTO译文精选】C# 4.0包括大量的增强和新增特性,包括:1、支持动态查找2、同时支持命名参数和可选参数3、增强的COM互操作特性4、支持 阅读全文
posted @ 2011-02-16 16:45 董雨 阅读(264) 评论(0) 推荐(0) 编辑
摘要: http://blog.huang-wei.com/2010/11/21/winsock-io/Windows Socket IO 模型套接字架构应用程序使用Winsock与传输协议驱动沟通时AFD.SYS负责缓冲区的管理。这就意味着当一个程序调用send或者WSASend发送数据时,数据将被复制到AFD.SYS它自己的内部缓冲区中(依赖SO_SNDBUF的设置)WSASend调用立即返回。然后AFD.SYS在程序后台将数据发送出去。当然,如果程序想要处理一个比SO_SNDBUF设置的缓冲区需求更大的发送请求,WSASend的调用就会阻塞直到所有的数据都被发送出去。类似的,从远程客户端接收数据 阅读全文
posted @ 2011-02-16 12:00 董雨 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 声明:除CSDN外的任何媒体转载必须注明作者以及“转载自CSDN”。本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O 完成例程模型 六:IOCP模型 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。 这和Socket模型非常类似。下面我就以老陈接收信件为例讲解Socket I/O模型 阅读全文
posted @ 2011-02-16 11:21 董雨 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 这个内容在cnblogs中也讨论过很多次了,这两天大概看了一些资料,看到一些简单的性能指标拿出来和大家讨论一下。socket + threads/threadpool大概性能:小于1500个连接 实现:accept一个socket,就交给一个线程去管理,比较笨,但也比较有效,因为是同步方式,控制起来很方便。高级点的,就是交给一个线程池去管理,线程池由系统自动托管,省去了开销线程的时间。一般小型项目,用这个完全足够,开发也简单。但要注意,如果若干socket长时间占用线程池中的线程,同时其它连接数又比较多,很容易出现提示说你没有足够的线程供使用。呵呵,让socket少做点事,少占用时间,换一个快 阅读全文
posted @ 2011-02-16 11:20 董雨 阅读(244) 评论(0) 推荐(0) 编辑
摘要: PDC 2010:C#与Visual Basic的未来(下) 2010-11-15 09:47 by 老赵, 1350 visits前几天在PDC 2010会议上Anders Hejlsberg发表了一场名为“The Future of C# and VisualBasic”的演说,谈论了未来C#和VB中最为重要的两个特性:“异步(Async)”及“编译器即服务(Compiler as aService)”。我现在对这场演讲进行总结,但不会像上次《编程语言的发展趋势及未来方向》那样逐句翻译,而是以Anders的角度使用一种 阅读全文
posted @ 2011-02-16 11:01 董雨 阅读(219) 评论(0) 推荐(0) 编辑
摘要: PDC 2010:C#与Visual Basic的未来(中) 2010-10-31 13:49 by 老赵, 1933 visits前几天在PDC 2010会议上Anders Hejlsberg发表了一场名为“The Future of C# and VisualBasic”的演说,谈论了未来C#和VB中最为重要的两个特性:“异步(Async)”及“编译器即服务(Compiler as aService)”。我现在对这场演讲进行总结,但不会像上次《编程语言的发展趋势及未来方向》那样逐句翻译,而是以Anders的角度使用一种 阅读全文
posted @ 2011-02-16 11:01 董雨 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 转自老赵博客:blog.zhaojie.mePDC 2010:C#与Visual Basic的未来(上) 2010-10-30 18:43 by 老赵, 3077 visits PDC不愧为微软最高级的技术人员专业会议,看得我直呼过瘾。前几天在PDC 2010会议上AndersHejlsberg发表了一场名为“The Future of C# and VisualBasic”的演说,谈论了未来C#和VB中最为重要的两个特性:“异步(Async)”及“编译器即服务(Compiler as aService)”。我现在对这场演 阅读全文
posted @ 2011-02-16 11:00 董雨 阅读(263) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/jhh0111/archive/2008/10/23/1318223.html看了eaglet的《几种C#框架提供的数据结构对单值查找的效率比较》,发现作者对Hashtable与Dictionary<K, V>存在一些误解,抽点空,讲讲我对Hashtable与Dic的看法。我个人是觉得,无论什么时候,都应该使用Dictionary<K,V>,理由如下:1、Dic是类型安全的,这有助于我们写出更健壮更具可读性的代码,而且省却我们强制转化的麻烦。这个相信大家都明白。2、Dic是泛行的,当K或V是值类型时,其速度远远超过Hasht 阅读全文
posted @ 2011-02-16 10:01 董雨 阅读(222) 评论(0) 推荐(0) 编辑
摘要: Author:Eaglet 在开始看这篇文章之前请先看这篇关于Hashtable与Dictionary性能的讨论。 我的这篇文章中的有些论点是不正确的,通过这个讨论也让我增长了很多知识。 做分词组件时,有网友提出采用Hashtable数据结构查找字符串效率较低,建议改为Dictionary,其理由是采用Hashtable 时Key值是object会触发装箱和拆箱动作,一直对这种说法表示怀疑,因为我理解只有值类型和引用类型通过object互转时才会发生装箱和查询,引用类型之间强制转换不应发生装箱和拆箱,而Dictionary泛型实际上底层还是调用的Hashtable,所以效率怎么会比Hashta 阅读全文
posted @ 2011-02-16 09:59 董雨 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数。Windows 下单机的TCP连接数有多个参数共同决定,下面一一介绍:最大TCP连接数[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]TcpNumConnections = 0x00fffffe (Default = 16,777,214) 以上注册表信息配置单机的最大允许的TCP连接数,默认为 16M。这个数值看似很大,这个并不是限制最大连接数的唯一条件, 阅读全文
posted @ 2011-02-16 09:44 董雨 阅读(222) 评论(0) 推荐(0) 编辑