2014年4月14日
摘要: 到多线程,不可不说线程池,C#中关于池的概念很多,今天来整理下ThreadPool的使用。 是的,如果你很懒,如果你的执行任务比较短,如果你不想对线程做更精细的控制,那么把这些繁琐的东西丢给线程池吧。一:ThreadPool好了,下面看看TheadPool下有哪些常用的方法。1:GetMaxThre... 阅读全文
posted @ 2014-04-14 11:11 米高佐敦 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于“任务的编程模型”所冲击,因为task会比thread具有更小的性能开销,不过大家肯定会有疑惑,任务和线程到底有什么区别?1:任务是架构在线程之上的,也就是说任务最终还是要抛给线... 阅读全文
posted @ 2014-04-14 10:19 米高佐敦 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装起来,可能有人会问,这样做有什么好处,下面一一道来。一: Begin/End模式1: 委托 在执行委托方法的时候,我们常常会看到一个Invoke,同时也有一对... 阅读全文
posted @ 2014-04-14 09:15 米高佐敦 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 我们要说的task的知识也说的差不多了,这一篇我们开始站在理论上了解下“线程池”和“任务”之间的关系,不管是说线程还是任务,我们都不可避免的要讨论下线程池,然而在.net 4.0以后,线程池引擎考虑了未来的扩展性,已经充分利用多核微处理器架构,只要在可能的情况下,我们应该尽量使用task,而不是线程... 阅读全文
posted @ 2014-04-14 09:05 米高佐敦 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 在WCF出来之后,可能我们玩这些原始的TCP越来越少了,我们知道WCF对TCP进行了再一次的包装,第一反应给我们的或许是同构系统用TCP,异构系统用HTTP,那么问题来了,异构系统到底可不可以用TCP呢?至少WCF是玩不了的,因为其他语言没有针对.net的“服务引用”,也没有什么ChannelFac... 阅读全文
posted @ 2014-04-14 09:02 米高佐敦 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 日常开发中,总会接触到一些好玩的东西,比如这篇的redis,一说到redis,可能就有人跟memcache做比较了,是呀,memcache只能说是简单的kv内存数据结构,而redis支持的数据类型就丰富多了,当然最能让人看上眼的就是SortedSet。有了它,我们就可以玩一些“贪心”的问题,比如适合... 阅读全文
posted @ 2014-04-14 08:59 米高佐敦 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 一: 安装 memcahce像redis,mongodb一样都需要开启他们自己的服务端,我们下载Memcached_1.2.5.zip,然后放到C盘,修改文件名为memcached。1:install install可以说是万能通用命令,首先我们转到memcached目录,然后memcached... 阅读全文
posted @ 2014-04-14 08:57 米高佐敦 阅读(434) 评论(0) 推荐(0) 编辑