日期:2014-05-20  浏览次数:20840 次

关于C#多线程效率问题
如题 :
我定义了一个委托执行一个A 执行方法B(B中主要就是循环遍历表中的行),线程T 执行委托A

private void B()
{
    for(i=0;i<....)
    {
        DataRow row=table.rows[i];
        .....;
    }
}

我发现随着进程慢慢的运行,效率好像越来越低,递减状态,最开始每秒钟可以执行50多个行,到最后每秒钟只能执行1 2行,请问这个是为什么? 求大神指点.
多线程 Theard delegate

------解决方案--------------------
会不会是你常见的线程太多,而没有释放掉?你在一个事件中处理完的东西,资源要释放掉哦~~
using 也是自动释放资源的一种,可以的话,加上去试试看
------解决方案--------------------
Hightest用得比较少,用了也不一定就起作用
你在遍历dt.Rows时调用了DoImportData
Tick里也调用了DoImportDate差点看错
不知道你那些方法是在什么情况下调用到,先梳理一下你的业务流程,