linux c++ 线程睡眠函数 精确到毫秒
时间: 2023-07-30 16:07:23 浏览: 203
在Linux下,可以使用C++的<unistd.h>头文件中的usleep函数来让当前线程进入睡眠状态,具体实现方式如下:
```c++
#include <unistd.h> // 包含 usleep 函数
int main() {
// 让当前线程进入睡眠状态 1000 毫秒(即 1 秒)
usleep(1000 * 1000);
return 0;
}
```
注意,usleep函数的参数是以微秒为单位的睡眠时间,也就是说,1000 * 1000 微秒等于 1 秒。上述代码让当前线程进入睡眠状态1秒钟后再继续执行。由于usleep函数的参数只精确到微秒,如果需要精确到毫秒,可以使用C++11中的<stdchrono>头文件中的std::this_thread::sleep_for函数,具体实现方式如下:
```c++
#include <chrono> // 包含 std::chrono 命名空间
#include <thread> // 包含 std::this_thread::sleep_for 函数
int main() {
// 让当前线程进入睡眠状态 1000 毫秒(即 1 秒)
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
return 0;
}
```
上述代码中,std::chrono::milliseconds(1000)表示要让当前线程进入睡眠状态 1000 毫秒,std::this_thread::sleep_for是按照指定的时间精度来让当前线程进入睡眠状态的函数。
阅读全文