首页 新闻 会员 周边 捐助

求助!--C#多线程 数据库

0
悬赏园豆:20 [已解决问题] 解决于 2012-10-10 14:29

我现在是要往SQLserver2008R2数据库里同一个表插入一批测试数据,速度比较慢,想用多线程实现,请问该如何做?

Task.Factory.StartNew(() => StationInfoImporter(station, database)),这条语句开启一个线程执行插入操作为什么不能实现?

super 86的主页 super 86 | 初学一级 | 园豆:11
提问于:2012-09-24 16:52
< >
分享
最佳答案
0

用SqlBulkCopy吧,多线程会消耗更多资源,而且你还没使用Sql的Async模式。

收获园豆:20
Launcher | 高人七级 |园豆:45050 | 2012-09-24 17:04

能说的稍微详细一点吗?

super 86 | 园豆:11 (初学一级) | 2012-09-25 09:49
其他回答(4)
0

Thread Th = new Thread(new ThreadStart(ThText));
Th .IsBackground = true;--是否设为后台进程
Th .Start();--开始进程

--ThText是要执行的方法名称

public void ThText()
{
  while (true)
  {

      .....逻辑代码

  }

}

WOWEN | 园豆:180 (初学一级) | 2012-09-24 16:57
0

用Task 的数组可以实现,其实方法多的狠,你google一下就知道了

架构师修行之路 | 园豆:322 (菜鸟二级) | 2012-09-24 17:07
0

你的需求我觉得使用多线程不一定会更快,你检查一下要插入的表有使用索引没,如果是有先取消掉插入速度会快很多

jason2013 | 园豆:1998 (小虾三级) | 2012-09-25 10:26
0

数据库操作,多线程不一定就会快,我试过。

你可以让任务在后台运行吧。

YuZheLion | 园豆:170 (初学一级) | 2012-10-07 23:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册