有一天測(cè)試人員對(duì)我說(shuō), 我怎么測(cè)試10點(diǎn)開站會(huì)
這個(gè)功能呢? 當(dāng)時(shí)也沒(méi)有經(jīng)過(guò)腦子, 直接對(duì)她說(shuō), 你把系統(tǒng)時(shí)間修改一下吧.
好嘛, 麻煩來(lái)了. 測(cè)試對(duì)我說(shuō), 你新開發(fā)的程序有BUG, 程序沒(méi)反應(yīng)了. 我暈, 哥已經(jīng)測(cè)過(guò)的, 怎么會(huì)有問(wèn)題呢? 然后我就做在那開發(fā)排地雷. 后來(lái)經(jīng)過(guò)仔細(xì)排查, 排查到一個(gè)別人封裝的接口, 我把那個(gè)程序大致的樣子寫出來(lái).
sleep_for.png
程序總是在這個(gè)函數(shù)中阻塞住. 為什么會(huì)阻塞呢? 然后我就在這段代碼中到處加log打印
直到我把std::cout << sleep before << std::endl
加在23行時(shí), 我終于發(fā)現(xiàn)問(wèn)題了, 發(fā)現(xiàn)程序阻塞在24行
boost::this_thread::sleep_for
是不能修改系統(tǒng)時(shí)間的!!!