摘要: Monitor类 Monitor类通过向单个线程授予对象锁来控制对对象的访问。对象锁提供限制访问临界区的能力。当一个线程拥有对象的锁时,其他任何线程都不能获取该锁。还可以使用 Monitor 来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码节,除非另一个线程正在使用其他的锁定对象执行该代码。 通过对lock关键字的分析我们知道,lock就是对Monitor的Enter和Exit的... 阅读全文
posted @ 2009-06-24 17:36 瞌睡虫 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后,介绍几个FCL中线程安全的类,集合类的锁定方式等,做为对线程同步系列的完善和补充。1.几种同步方法的区别lock和Monitor是.NET用一个特殊结构实现的,Monitor对象是完全托管的、... 阅读全文
posted @ 2009-06-24 11:24 瞌睡虫 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 本篇继续介绍WaitHandler类及其子类Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先... 阅读全文
posted @ 2009-06-24 11:22 瞌睡虫 阅读(356) 评论(0) 推荐(1) 编辑
摘要: mutex 与监视器类似;它防止多个线程在某一时间同时执行某个代码块。事实上,名称“mutex”是术语“互相排斥 (mutually exclusive)”的简写形式。然而与监视器不同的是,mutex 可以用来使跨进程的线程同步。mutex 由 Mutex 类表示。 当用于进程间同步时,mutex 称为“命名 mutex”,因... 阅读全文
posted @ 2009-06-22 19:22 瞌睡虫 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希 望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图:1.lock关键字lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其... 阅读全文
posted @ 2009-06-22 18:01 瞌睡虫 阅读(246) 评论(0) 推荐(0) 编辑
摘要: .Net线程池示例:public class Fibonacci{ public Fibonacci(int n, ManualResetEvent doneEvent) { _n = n; _doneEvent = doneEvent; } // Wrapper method for use with thread pool. public void ThreadPoolCallback(Obj... 阅读全文
posted @ 2009-06-22 16:48 瞌睡虫 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 有一网友问:关于ms sqlserver索引优化问题:有表stress_test(id int, key char(2)) id 上有普通索引; key 上有簇索引; id 有有限量的重复; key 有无限量的重复;目前我需要按逻辑和查询表中key=az and key=bw and key=cv 的id求教高手最有效的查询语句测试环境: hardware:p4 2.6+512m+80g soft... 阅读全文
posted @ 2009-06-18 17:54 瞌睡虫 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 生成测试数据 T-SQL系列在xyz表中创建100行 --Method 1. simple DEFAULT values on table CREATE TABLE xyz ( col1 int PRIMARY KEY IDENTITY(1,1) NOT NULL, col2 int NOT NULL DEFAULT 999, col3 char(10) NOT NULL DEFAULT ''AB... 阅读全文
posted @ 2009-06-18 16:17 瞌睡虫 阅读(222) 评论(0) 推荐(0) 编辑
摘要: SQL Server 2005的XmL数据类型之基础篇一、引言如今,在SQL Server 2005中,XML成为第一流的数据类型。借助于基于XML模式的强类型化支持和基于服务器端的XML数据校验功能,现在,开发者可以对存储的XML文档进行轻松的远程修改。作为数据库开发者,许多人都必须大量地涉及XML。  如今,在SQL Server 2005中,你能以一种新的数据类型的形式把XML存储在数据库中... 阅读全文
posted @ 2009-06-16 13:59 瞌睡虫 阅读(114) 评论(0) 推荐(0) 编辑
摘要: VPN,Virtual Private Network(虚拟专用网络),被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展,它可以帮助异地用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。 IETF 组织对基于IP 的VPN 解释为:通过专门的隧道加密技术在公共数据网络上... 阅读全文
posted @ 2009-06-05 16:03 瞌睡虫 阅读(217) 评论(0) 推荐(0) 编辑