我想以毫秒为单位执行上述操作。我应该更喜欢哪个库和函数调用?
问问题
34095 次
3 回答
22
编辑 2017:C++11sleep_for
是正确的方法。请参阅下面 Xornad 的回答。
C++03:
由于 Mac OS X 是基于 Unix 的,您几乎总是可以只使用标准的 linux 函数!
在这种情况下,您可以使用usleep
(这需要以微秒为单位的时间)并将您的毫秒乘以 1000 以获得微秒。
#include <unistd.h>
int main () {
usleep(1000); // will sleep for 1 ms
usleep(1); // will sleep for 0.001 ms
usleep(1000000); // will sleep for 1 s
}
有关此函数的更多信息,请查看 Linux 手册页:
于 2013-10-18T02:14:49.693 回答
15
如果您的编译器支持 C++11,则可以使用sleep_for
并避免使用特定于操作系统的 API。(http://en.cppreference.com/w/cpp/thread/sleep_for)
#include <thread>
#include <chrono>
int main()
{
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
return 0;
}
于 2013-10-18T09:59:15.400 回答
0
请只使用睡眠(整数或数字),除非您需要纳秒或微秒
于 2020-12-03T00:08:07.087 回答