我想以毫秒为单位执行上述操作。我更喜欢哪个库和函数调用?
编辑2017:C ++ 11 sleep_for
是这样做的正确方法。请参阅Xornad's answer, below。
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手册页:
如果您的编译器支持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;
}