主程序中遇到sleep语句,线程就不执行了。如何让主程序等待的过程中,线程继续执行?

解决方案 »

  1.   

    试在sleep()前后加application.ProcessMessages ;不行就用for i:=0 to 999999 do 代替sleep();
      

  2.   

    application.ProcessMessages 可以了,请问这个语句是不是把这语句后面的一段代码当做一个普通线程了?这样和其它线程平等了,对吧?
      

  3.   

    API Sleep(DWORD m)使得当前线程挂起m毫秒,停止执行。m=0时使得当前线程放弃分配的CPU时间片,让给其它同优先级线程。如果希望主线程挂起时,仍然进行其它一些工作,可以使用多线程,再起一个线程进行此工作。
      

  4.   

    application.ProcessMessages 的作用就是让程序运行到此暂停,然后去处理消息队列中的消息,处理完毕GO ON!
      

  5.   

    哈哈,net_morning(矿泉水) 以发贴数量给分,再顶一下!
      

  6.   

    application.ProcessMessages 可以了,请问这个语句是不是把这语句后面的一段代码当做一个普通线程了?这样和其它线程平等了,对吧?
    不对呀, 归根结底是一个线程,只不过让他再一次去处理消息