怎么在vb.net里用多线程缩短循环时间
foriasinteger=0todatatable.rows.count-1过程(参数1,参数2,参数3)next以上这个循环,要执行100多次,执行下来需要20多分钟...
for i as integer=0 to datatable.rows.count-1
过程(参数1,参数2,参数3)
next
以上这个循环,要执行100多次,执行下来需要20多分钟。能不能用多线程缩短循环执行的时间?
可以的话,多线程怎么实现? 展开
过程(参数1,参数2,参数3)
next
以上这个循环,要执行100多次,执行下来需要20多分钟。能不能用多线程缩短循环执行的时间?
可以的话,多线程怎么实现? 展开
1个回答
展开全部
多线程并不一定就可以缩短时间,具体要看你上面的“过程”是否调用数据库完成。如果调用了数据库,可以考虑用存储过程替代“过程”。另外看看“过程”里是否反复打开和关闭了数据库连接,如果是,这才是真正的耗时动作。如果没调用数据库,可以考虑使用Parallel类(.net4以后)里面的函数,使多个任务在多核CPU上并行运行,缩短时间。
https://msdn.microsoft.com/zh-cn/library/system.threading.tasks.parallel.aspx
https://msdn.microsoft.com/zh-cn/library/system.threading.tasks.parallel.aspx
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询