for(int i=0;i<pPicFileObject->m_nNewPicStay*100;i++)
{
   Sleep(1);
}

Sleep(pPicFileObject->m_nNewPicStay*100)有什么区别?谢谢
怎样写能和Sleep(pPicFileObject->m_nNewPicStay*100)等价呢?

解决方案 »

  1.   

    Sleep()参数是毫秒,你想定多少豪秒就给多少值就可以了.直接Sleep(pPicFileObject->m_nNewPicStay*100)就可以了
      

  2.   

    我是在线程函数里用的,我写成
    for(int i=0;i<pPicFileObject->m_nNewPicStay*100;i++)
    {
       Sleep(1);
    }这种是有用的
    不过它和Sleep(pPicFileObject->m_nNewPicStay*100)真的不同
    各位可以试试谢谢
      

  3.   

    for(int i=0;i<pPicFileObject->m_nNewPicStay*100;i++)
    {
       Sleep(1);
    }的时间开销比Sleep(pPicFileObject->m_nNewPicStay*100)更大你发现不同在哪里?
      

  4.   

    for(int i=0;i<pPicFileObject->m_nNewPicStay*100;i++)
    {
       Sleep(1);
    }
    多次函数调用-----------Sleep(pPicFileObject->m_nNewPicStay*100) 
    一次函数调用(开销小)
    我觉得是这样
      

  5.   

    Sleep(pPicFileObject->m_nNewPicStay*100)
    不会让出线程for(int i=0;i<pPicFileObject->m_nNewPicStay*100;i++)
    {
       Sleep(1);
    }
    会让出线程,如果CPU忙时,差别可能会大些.线程里建议使用前者.
      

  6.   

    当然不同
    for(int i=0;i<pPicFileObject->m_nNewPicStay*100;i++)
    {
       Sleep(1);
    }
    是每循环一下,线程就要停止运行1毫秒。操作系统接下去会把时间片交给别的线程运行。
    等操作系统再安排该线程运行是不知道要什么时候呢Sleep(pPicFileObject->m_nNewPicStay*100)
    这个是线程停pPicFileObject->m_nNewPicStay*100秒