C#技术
文章平均质量分 81
betsyfeng
这个作者很懒,什么都没留下…
展开
-
线程同步之Lock对象的使用
第一印象,C#关于线程同步的东西好多,保持了C#一贯的大杂烩和四不象风格(Java/Delphi)。临界区跟Java差不多只不过关键字用lock替代了synchronized,然后又用Moniter的Wait/Pulse取代了Object的Wait/Notify,另外又搞出来几个Event……让人甚是不明了。不管那么多,一个一个来吧。 临界区(Critical Section) 是一段在同一时候只被一个线程进入/执行的代码。为啥要有这个东西?是因为这段代码访问了“临界资源”,而这种资源只能同时被互斥地访问转载 2011-05-08 16:19:00 · 712 阅读 · 0 评论 -
线程同步之互斥量mutex的使用
<br />什么是Mutex<br /> “mutex”是术语“互相排斥(mutually exclusive)”的简写形式,也就是互斥量。互斥量跟临界区中提到的Monitor很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后得以访问资源。互斥量比临界区复杂,因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的转载 2011-05-08 16:23:00 · 1273 阅读 · 0 评论 -
.net cache的使用方法
<br /> ASP.NET Cache是提升系统性能的重要方法,它使用了“最近使用”原则(a least-recently-used algorithm)。在数据库访问中经常会用到Cache保存数据库数据。<br />1.缓存的添加:<br />Cache的添加方法有Add()或Insert(),两种方法几乎类似,只是Inser方法可以使用可选参数,即使用默认参数,来实现缓存的添加:<br />Cache.Add(<br /> KeyName,//缓存名<br /> KeyVa转载 2011-05-29 20:41:00 · 713 阅读 · 0 评论 -
C#线程的使用
在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。<br /><br />不带参数的启动方式<br /><br />如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码: using System;using System.Collections.Generic;using System.Text;using Sy转载 2011-05-29 21:05:00 · 363 阅读 · 0 评论 -
线程同步之互斥量mutex的使用
<br />什么是Mutex<br /> “mutex”是术语“互相排斥(mutually exclusive)”的简写形式,也就是互斥量。互斥量跟临界区中提到的Monitor很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后得以访问资源。互斥量比临界区复杂,因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的转载 2011-05-08 16:23:00 · 447 阅读 · 0 评论