2011年11月5日

设置进程所关联的处理器核心.

摘要: ProcessThread.ProcessorAffinity设置关联线程可以在其上运行的处理器。属性值(十六进制)有效的处理器0x000110x000220x00031 或 20x000430x00051 或 30x00071、2 或 30x000F1、2、3 或 4还可以通过设置 IdealProcessor 属性为线程指定单个首选处理器。进程线程可以在处理器间迁移,每次迁移都重新加载处理器缓存。在系统负荷繁重的情况下,为线程指定处理器可以减少重新加载处理器缓存的次数,从而提高性能。 阅读全文

posted @ 2011-11-05 19:53 Terry@ 阅读(210) 评论(0) 推荐(0) 编辑

关于 C# 的 lock

摘要: 锁的本质 是互斥量.互斥量可以通俗的这么理解.(本质不同,但表像是相同的,这样描述更易理解,使用上也不容易出错)以一个以对象(指针)的值(指向地址)作为Key的集合作为基础.所有线程在进入锁的时刻,判断如果Key存在, 线程挂起并进入等待队列.否则 线程进入锁,并添加Key到集合. 线程执行结束,移除集合中的锁. 唤醒挂起的等待队列.MSDN规范通常,应避免锁定 public 类型,否则实例将超出代码的控制范围。常见写法lock (this)、lock (typeof (MyType))、lock(“lockKey")、lock(obj)1 lock(this) 代码效果:以this 阅读全文

posted @ 2011-11-05 10:25 Terry@ 阅读(581) 评论(2) 推荐(0) 编辑

2011年11月3日

海量数据处理

摘要: 本文转自:http://blog.redfox66.com/post/2010/09/24/mass-data-topic-2-bloom-filter.aspx 略做细微修改.(一)——开篇大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 (二)——Bloom Fi 阅读全文

posted @ 2011-11-03 10:47 Terry@ 阅读(1969) 评论(0) 推荐(0) 编辑

2011年10月31日

System.Threading.Tasks

摘要: 待完善 阅读全文

posted @ 2011-10-31 20:52 Terry@ 阅读(161) 评论(0) 推荐(0) 编辑

成员变量,属性,自动属性 的性能差异.

摘要: 首先,建立一个类.public class KVTable{ public string Name;}书写代码var kvt = new KVTable ();My.Test.BeginTestTick();for (int i = 0; i < 1000000; i++){ kvt.Name = i.ToString();}My.Test.EndTestTickAndShow();执行用时 600 毫秒改为public class KVTable{ public string Name{get;set;}}执行用时 2511 毫秒改为public class KVTable... 阅读全文

posted @ 2011-10-31 00:14 Terry@ 阅读(407) 评论(1) 推荐(0) 编辑

2011年10月28日

Assembly 程序集

摘要: //根据一个类得到其相应的 Assemblyvar ar = System.Reflection.Assembly.GetAssembly(typeof(BK_BaseEntity));//查找 Assembly 中的所有类型var ft = ar.ManifestModule.FindTypes(null, null);//找出所有基类是BK_BaseEntity的类型.var fs = ft.Where(j => j.BaseType == typeof(BK_BaseEntity));Assembly 程序集(Dll , exe 等 可以理解为vs中的一个项目.)//下面这行代码演 阅读全文

posted @ 2011-10-28 10:19 Terry@ 阅读(299) 评论(0) 推荐(0) 编辑

2011年10月27日

正则表达式

摘要: 元字符描述.点匹配任何单个字符。例如正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root。$匹配行结束符。例如正则表达式weasel$ 能够匹配字符串"He's a weasel"的末尾 但是不能匹配字符串"They are a bunch of weasels."^匹配一行的开始。例如正则表达式^When in能够匹配字符串"When in the course of human events"的开始,但是不能匹配"What and When in the"*匹配0或多个正好在它之前 阅读全文

posted @ 2011-10-27 15:55 Terry@ 阅读(293) 评论(0) 推荐(1) 编辑

MVC Routing

摘要: 一.摘要 本篇文章从基础到深入的介绍ASP.NET MVC中的Routing组件. Routing翻译过来是"路由选择", 负责ASP.NET MVC的第一个工作:识别URL, 将一个Url请求"路由"给Controller. 由于今天下午参加了博客园北京俱乐部的聚会, 所以本篇文章的完工时间晚了点, 还好也是在今天发表, 总算兑现了"每日一篇"的承诺. 不久丁学就会发布北京博客园聚会活动的资料了, 我在这里先预告了! 二.承上启下 第一篇文章中我们已经学会了如何使用ASP.NET MVC, 虽然其中还有很多的细节没有深入了解, 但是 阅读全文

posted @ 2011-10-27 15:13 Terry@ 阅读(2417) 评论(0) 推荐(4) 编辑

深入 foreach 和 for 循环的区别

摘要: foreach 依赖IEnumerable.第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a,以后每次再执行 var a in GetList() 的时候 调用 MoveNext.直到循环结束.期间GetList()方法只执行一次.foreach (var a in GetList()){ ...}=var a;IEnumerator e = GetList().GetEnumerator();while (e.MoveNext){ a = e.Current;}for 循环靠下标定位. list[3] 相当... 阅读全文

posted @ 2011-10-27 10:42 Terry@ 阅读(32938) 评论(2) 推荐(4) 编辑

导航