项目中需要读取数据库中的多张表.由于表的数据比较多,串行读取时耗时比较多,所以对程序做了一点优化. 环境 .NET 3.5,SQL Server 2012,Visual Studio 2015 过程 项目中使用存储过程串行地读取数据库,存储过程接受同一个表变量作为参数.但是当在多线程中复制DataTable时有可能会出现异常,这是因为DataTable里的Rows不是线程安全的.不过微软提供了一个叫SyncRoot的对象帮助我们在多线程时对DataTable进行操作.代码如下 public st…