我需要把数据库里的数据读出来填充到列表框中,数据较多,还要把数据相应的文件拷到本地,平时都是先做完一件事再做另一件事,代码有先后顺序。 
  我想问问大家,是否有方法,能让这两件事同时做,以便节约时间?

解决方案 »

  1.   

    做成com组件,对多线称支持好点
      

  2.   

    没有绝对意义的同时,你可以使用Timer 来实现该功能。
      

  3.   

    这两种操作一起执行的话未必能节省什么时间.从数据库里查询内容并填充出来,是消耗磁盘IO的....而复制文件,也是消耗磁盘IO的.CPU同时做这两件事可以,但磁盘的总IO吞吐量就那么多,不一定能节省时间,有可能还更费时....不过上面也只是猜测,最好你做个实验吧,这样最可靠.
      

  4.   

    不过,抛开IO操作过多,这个多线程并不能提升反而降低效率的问题。
    vb6在实现多线程的方面,确实复杂点。那有没有封装好的vb6用的第三方的库,可以方便的创建线程呢?必尽vb6的开发人员曾经非常的多。
      

  5.   

    做成ActiveX EXE然后用Timer控件可以实现多进程.
    参见MSDN中"创建 ActiveX EXE 部件":
    进程外部件运行在自己的进程中,这意味着客户端可以通知部件做某事,然后当部件工作时客户端可以继续它自己的工作。当这样的系统正确建立后,部件能在任务结束时使用异步通知来通知客户端,这在“建立代码部件”的“异步的回调与事件”中解释。mk:@MSITStore:D:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\2052\vbcon98.chm::/Html/vbconcreatingoleserver.htm
      

  6.   


    如果你是把数据库查询通过 SQL 语句丢给数据库引擎的,就可以同时进行。在记录集 Open 语句之后,直接去 Copy 文件。回来之后,再处理记录集。
      

  7.   

    除了多线程,可以用多媒体时钟
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  8.   


    即使多线程,说到底,对于单核 CPU 还是分时执行的。