📜  c++ 线程等待 1 秒 - C++ (1)

📅  最后修改于: 2023-12-03 15:29:53.072000             🧑  作者: Mango

C++线程等待1秒

在多线程的编程中,我们可能需要在某个线程中等待一段时间后再进行下一步操作,这时就需要使用线程等待的机制。本文将介绍如何在C++中让线程等待1秒。

方式一:使用库中的std::this_thread::sleep_for函数

通过使用库中的std::this_thread::sleep_for函数,可以让当前线程睡眠指定的时间。示例代码如下:

#include <iostream>
#include <chrono>
#include <thread>

int main()
{
    std::cout << "Sleeping for 1 second...\n";
    std::this_thread::sleep_for(std::chrono::seconds(1));
    std::cout << "Finished sleeping.\n";
    return 0;
}

在上面的示例代码中,我们使用std::this_thread::sleep_for函数让当前线程睡眠1秒钟,然后输出结束睡眠的信息。

方式二:使用<unistd.h>库中的usleep函数

<unistd.h>库中的usleep函数也可以让当前线程睡眠指定的时间。示例代码如下:

#include <iostream>
#include <unistd.h>

int main()
{
    std::cout << "Sleeping for 1 second...\n";
    usleep(1000000); // 1秒等于1,000,000微秒
    std::cout << "Finished sleeping.\n";
    return 0;
}

在上面的示例代码中,我们使用usleep函数让当前线程睡眠1秒钟,然后输出结束睡眠的信息。

总结

本文介绍了两种让C++线程等待1秒的方法。方式一使用的是库中的std::this_thread::sleep_for函数,方式二使用的是<unistd.h>库中的usleep函数。这两种方法都可以让当前线程睡眠指定的时间。