我用多线程执行数据库的导入操作,但为什么不会热行那个数据库的导入方法呢?一定要加上Thread.Sleep(20000)才可以执行那个方法,而且Thread.Sleep(20000)中的20000也不一样,如果这个数字小了,就执行一半方法,为什么呢,十再想不通。,为什么要加这句话呢?请高手指点!如果加了这句话,那好像多线程的操作就不起作用了,导入时还是这样的慢。十万火急!请给个指点!谢谢!

解决方案 »

  1.   

    Thread assetThread = new Thread(new ThreadStart(updateDepart));
                    assetThread.Start();
                    Thread.Sleep(20000);为什么加Thread.Sleep(20000)才会执行updateDepart这个方法呢?没这句话就不执行这个方法
      

  2.   

    asp.net在这个地方不应该用多线程。我只有在生成HTML、文章采集才用多线程.
      

  3.   

    ASP.NET多线程?晕~------------
    有问题吗!!我还把线程句并放 cache里面的!~!
      

  4.   

    ASP.NET能用多线程吗?assetThread.Start();
    在这之后,新线程开始运行。
    Thread.Sleep(20000);
    主线阻塞20秒。
    假设新线程要18秒才能生成所有HTML页面。那么在这阻塞的20秒后,线程的任务就运行完了,所有你得到了你要的结果。如果你阻塞10秒,10秒后,主线程就开始继续后面的语句(假如用了1秒),主程序语句结束的时,会中止所有进程,那么线程完成比例为11/18。没有等到你要的结果。因为assetThread是局部变量,主程序段结束后,assetThread就会被销毁。试试把assetThread定义为全局静态变量试试。
      

  5.   

    建议看看这篇文章对您会有帮助   http://www.150it.cn/bianchengwendang/Csap/6246620677869.htmlhttp://www.150it.cn/bianchengwendang/Csap/6246620677869.html