2012年6月5日

摘要: 最近在做网站的优化,其中一项包括:对静态文件(如图片,JS脚本文件及CSS文件)启用一个新的独立域名,以杜绝不必要的Cookie传送,提高请求速度并减少带宽。 我们知道,当向HTTP服务器 请求某个URL时,浏览器将该URL与客户主机中存储 的所有Cookie比较,如果发现域名相匹配Cookie,则匹配 Cookie中包含名字/值的那一行将被包含在HTTP请求头中,以保证依赖于Cookie的功能得以实现。 但是,当请求一个静态图片时,传输Cookie就没有任何意义了。 另外,Cookie的存取是不允许跨域的,这个很好理解,因为有时Cookie文件里会存储一些比较敏感或重要的信息,如... 阅读全文
posted @ 2012-06-05 10:23 罗里罗嗦夫斯基 阅读(261) 评论(0) 推荐(0) 编辑

2012年5月23日

摘要: 面试题,没做出来回来搜了一下,方法还真不少.看来,自己还要提高啊a=a+b; b=a-b; a=a-b; a=a^b b=b^a a=a^b a=b+(b=a)*0 阅读全文
posted @ 2012-05-23 20:29 罗里罗嗦夫斯基 阅读(586) 评论(0) 推荐(0) 编辑

2012年2月8日

摘要: usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Runtime.Remoting.Messaging;usingSystem.Threading;namespaceWebApplication1{publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,Even. 阅读全文
posted @ 2012-02-08 16:55 罗里罗嗦夫斯基 阅读(587) 评论(0) 推荐(0) 编辑

2011年11月25日

摘要: 聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致,聚集索引表记录的排列顺序与索引的排列顺序一致,优点是查询速度快,因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后。聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。建议使用聚集索引的场合为: a.此列包含有限数目的不同值; b.查询的结果返回一个区间的值; c.查询的结果返回某值相同的大量结果集。 非聚集索引指定了表中记录的逻辑顺序,但记录的物理顺序和索引的顺序不一致... 阅读全文
posted @ 2011-11-25 10:00 罗里罗嗦夫斯基 阅读(300) 评论(0) 推荐(0) 编辑

2011年9月14日

摘要: 出处 http://www.studyday.net/2010/08/99By kuco | Published: 2010/08/27 阅读全文
posted @ 2011-09-14 12:58 罗里罗嗦夫斯基 阅读(169) 评论(0) 推荐(0) 编辑

2011年8月9日

摘要: 当进行耗时的工作时,可以使用异步委托执行。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Runtime.Remoting.Messaging;namespaceConsoleApplication2{classProgram{staticvoidMain(string[]args){facHandlerf=newfacHandler(Fac);//开异步方法开始执行IAsyncResultresult=f.BeginInvoke(10,newAsyncCall. 阅读全文
posted @ 2011-08-09 11:48 罗里罗嗦夫斯基 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 同步事件和等待句柄用于解决复杂的同步情况。比如一个大的计算步骤包含3个步骤result = first term + second term + third term,如果现在想写个多线程程序,同时计算first term,second term 和third term,等所有3个步骤计算好后再把它们汇总起来,我们就需要使用到同步事件和等待句柄。 同步事件分有两个,分别为AutoResetEvent和ManualResetEvent,这两个类可以用来代表某个线程的运行状态:终止和非终止。 等待句柄用来判断ResetEvent的状态,如果是非终止状态就一直等待,否则放行,让等待句柄下面的代码继. 阅读全文
posted @ 2011-08-09 11:26 罗里罗嗦夫斯基 阅读(461) 评论(0) 推荐(1) 编辑
摘要: 前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后,介绍几个FCL中线程安全的类,集合类的锁定方式等,做为对线程同步系列的完善和补充。 1.几种同步方法的区别 lock和Monitor是.NET用一个特殊结构实现的,Monitor对象是完全托管的、完全可移植的,并且在操作系统资源要求方面可能更为有效,同步速度较快,但不能跨进程同步。lock(Monitor.Enter和Monitor.Exit方法的封装),主要作用是锁定临界区,使临界区代. 阅读全文
posted @ 2011-08-09 08:42 罗里罗嗦夫斯基 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 本篇继续介绍WaitHandler类及其子类Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先于消费者线程执行。.NET中线程同步的类无非是对这两种方式的封装,目的归根结底都可以归结为实现互斥/加锁或者是信号灯这两种方式,只是它们的适用场合有所不。下面我们根据类的层次结构了解WaitHandler及其子类。 1.W. 阅读全文
posted @ 2011-08-09 08:41 罗里罗嗦夫斯基 阅读(390) 评论(0) 推荐(1) 编辑
摘要: - 本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始, 希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图: 1.lock关键字 lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。方法是获取给定对象的互斥锁,执行语句,然后释放该锁。 MSDN上给出了使用lock时的注意事项通常,应避免锁定 publ 阅读全文
posted @ 2011-08-09 08:40 罗里罗嗦夫斯基 阅读(382) 评论(0) 推荐(0) 编辑