我在主程序中启用了一个后台线程,可是我想让它每隔固定时间执行,该怎么做呢?我用了Sleep,可是它只是在第一次启动线程起作用呀。

解决方案 »

  1.   

    线程一直不退出,直到外部要求它退出位置。在你那个线程内部设置一个无限循环,然后Sleepwhile(true)
    {
        if (m_bIsExit)
            return 0;    ....//原来你的线程函数    Sleep(4000);
    }
      

  2.   

    在主程序设置计时器就行了,使用函数
    SetTimer
    KillTimer
    如果使用消息WM_TIMER,就将后台线程的内容复制过来
    如果使用函数,就在SetTimer中设置后台线程函数