代码改变世界

技术地址收藏

2012-11-21 10:01 by Simon.Jiang, 247 阅读, 0 推荐, 收藏, 编辑
摘要:1、委托、事件http://www.akadia.com/services/dotnet_delegates_and_events.htmlhttp://www.codeproject.com/Articles/26936/Understanding-NET-Delegates-and-Events-By-Practicehttp://dotnetslackers.com/articles/net/Delegates-in-NET.aspx2、哈希表http://www.cnblogs.com/hkncd/archive/2011/05/06/2035684.html3、CLRhttp://b 阅读全文

异步处理队列(简单实用)

2012-11-13 18:02 by Simon.Jiang, 784 阅读, 1 推荐, 收藏, 编辑
摘要:异步处理接口/// <summary> /// 异步处理接口 /// </summary> public interface IAsyncHandle { /// <summary> /// 异步处理参数 /// </summary> IHandleArgs AsyncHandleParameter { get; set; } /// <summary> /// 异步处理调用方法 /// </summary> /// <param name="param"><... 阅读全文

Mono初接触

2012-11-04 10:01 by Simon.Jiang, 455 阅读, 0 推荐, 收藏, 编辑
摘要:一直听说过Mono的大名,但是都没有亲身实践过在Mono基础上编程,几天突然心血来潮,整了个Mono开发环境,然后华丽丽地写了个HelloWorld。。。。一、必备资源Mono for Windows, Gtk#, and XSPMono不像微软那样,给提供很好的集成开发环境,这里都比较原始,只提供类库和编译器,不过这一点都不妨碍我们的开发工作,只不过在编译和调试过程会苦一点。本人使用的是windows系统,所以选择安装了windows平台下的Mono,并且后秀的体验实践开发也是基于windows平台的。二、开发初体验安装过程比较简单,这里不做说明,安装好以后,会在开始菜单里面有Mono 2. 阅读全文

【JavaScript/CSS】鼠标mouseover时文字提示

2012-11-01 14:20 by Simon.Jiang, 1313 阅读, 0 推荐, 收藏, 编辑
摘要://方法定义Ctrip.tooltip = function(sel){ var tip = document.createElement('div'); tip.id = "titleTip"; tip.innerHTML = '<b class="tri_t"></b><div id="contentTip"></div>'; var ori = ''; var ... 阅读全文

【转】多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(下)

2012-10-23 11:46 by Simon.Jiang, 208 阅读, 0 推荐, 收藏, 编辑
摘要:前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后,介绍几个FCL中线程安全的类,集合类的锁定方式等,做为对线程同步系列的完善和补充。 1.几种同步方法的区别 lock和Monitor是.NET用一个特殊结构实现的,Monitor对象是完全托管的、完全可移植的,并且在操作系统资源要求方面可能更为有效,同步速度较快,但不能跨进程同步。lock(Monitor.Enter和Monitor.Exit方法的封装),主要作用是锁定临界区,使临界区代码 阅读全文

【转】多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)

2012-10-23 11:43 by Simon.Jiang, 263 阅读, 0 推荐, 收藏, 编辑
摘要:本篇继续介绍WaitHandler类及其子类 Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先于消费者线程执行。.NET中线程同步的类无非是对这两种方式的封装,目的归根结底都可以归结为实现互斥/ 加锁或者是信号灯这两种方式,只是它们的适用场合有所不。下面我们根据类的层次结构了解WaitHandler及其子类。 1. 阅读全文

【转】多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)

2012-10-23 11:40 by Simon.Jiang, 205 阅读, 0 推荐, 收藏, 编辑
摘要:本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图:1.lock关键字 lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。方法是获取给定对象的互斥锁,执行语句,然后释放该锁。 MSDN上给出了使用lock时的注意事项通常,应避免锁定 public 类 阅读全文

【装】Javascript闭包

2012-10-22 14:20 by Simon.Jiang, 201 阅读, 0 推荐, 收藏, 编辑
摘要:越来越觉得国内没有教书育人的氛围,为了弄懂JS的闭包,我使出了我英语四级吃奶的劲去google上搜寻着有关闭包的解释,当我看到stackoverflow上这一篇解答,我脑中就出现了一句话:就是这货没跑了! 不才译文见下,见笑了。 Peter Mortensen问:就像老Albert所说的,“如果你不能向一个六岁的孩子解释清楚,那么其实你自己根本就没弄懂。”好吧,我试着向一个27岁的朋友就是JS闭包(JavaScript closure)却彻底失败了。你们会怎么把它解释给一个充满好奇心的六岁孩子听呢?注:我看过StackOverflow上给出的示例,但根本没用。 Ali的回答: 当fun... 阅读全文

【转】数据库锁

2012-10-22 10:28 by Simon.Jiang, 180 阅读, 0 推荐, 收藏, 编辑
摘要:1前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2锁的种类共享锁(Shared lock)。例1:----------------------------------------T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象)T2: update table set column1='.. 阅读全文

【转】聚集索引和非聚集索引(整理)

2012-10-22 09:52 by Simon.Jiang, 157 阅读, 0 推荐, 收藏, 编辑
摘要:官方说法:聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行 的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这... 阅读全文