我知道 POSIX sleep(x)
函数使程序休眠 x 秒。是否有使程序在 C++ 中休眠 x 毫秒 的功能?
原文由 Prasanth Madhavan 发布,翻译遵循 CC BY-SA 4.0 许可协议
一个答案的优雅解决方案,稍加修改。如果没有更好的功能可用,可以轻松添加 select() 用法。只需制作使用 select() 等的函数……
代码:
#include <iostream>
/*
Prepare defines for millisecond sleep function that is cross-platform
*/
#ifdef _WIN32
# include <Windows.h>
# define sleep_function_name Sleep
# define sleep_time_multiplier_for_ms 1
#else
# include <unistd.h>
# define sleep_function_name usleep
# define sleep_time_multiplier_for_ms 1000
#endif
/* Cross platform millisecond sleep */
void cross_platform_sleep_ms(unsigned long int time_to_sleep_in_ms)
{
sleep_function_name ( sleep_time_multiplier_for_ms * time_to_sleep_in_ms );
}
原文由 user1444314 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
3 回答2k 阅读✓ 已解决
4 回答4k 阅读
2 回答3.9k 阅读✓ 已解决
2 回答5.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
请注意,毫秒没有标准的 C API,因此(在 Unix 上)您将不得不接受
usleep
,它接受微秒: