摘要: 这几天一直在学习ADO.NET的一些知识,现对ADO.NET数据库访问做个小结,以便和大家交流学习. 要使用ADO.NET提供的数据库访问对象,必须首先在应用程序的开始引用两个命名空间:System.Data和System.Data.SqlClient。请注意这两个命名空间是不同的命名空间,前者不包括后者。System.Data 命名空间提供对表示 ADO.NET 结构的类的访问。通过 ADO.NET 可以生成一些组件,用于有效管理多个数据源的数据。比如我们经常使用的dataset类和datatable类就是由这个命名空间里面的类所提供的。而System.Data.SqlClient命名空.. 阅读全文
posted @ 2012-09-29 17:47 美梦成真 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: 过多的锁定也会有麻烦。在死锁中,至少有两个线程被挂起,并等待对方解除锁定。由于两个线程都在等待对方,就出现了死锁,线程将无限等待下去。 看下面的示例: 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.T... 阅读全文
posted @ 2012-09-29 17:06 美梦成真 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 最近一直在学习C#的多线程编程,发现多线程编程并不容易。在启动访问相同数据的多个线程时,会间歇性地遇到难以发现的问题。下面来讨论与线程相关的问题:争用条件。如果两个或多个线程访问相同的对象,或者访问不同步的共享状态,就会出现争用条件。看下面的例子: 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: using System.Diagnostics; 6: using System.... 阅读全文
posted @ 2012-09-29 16:45 美梦成真 阅读(1260) 评论(0) 推荐(0) 编辑