c++ 开启的多线程中每隔一段时间执行重复操作

在二次开发软件过程中,需要开启一个新线程,重复执行一段操作,类似于MFC的定时器。

想了很久(菜鸟),发现函数sleep_for可以使用。

下面简单的例子:

#include
#include

void printw()
{
    while (true)
    {
        std::cout << "Hello world" << std::endl;
        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    }
}
int main()
{

   std::thread t(printw);
    //t.join();
    std::cout << "Hello E"<     system("pause");
}

运行结果如下:

Hello E
Hello world
请按任意键继续. . . Hello world
Hello world

可以看出 先执行后面的语句,不会堵塞,开启的线程每隔1秒执行打印操作,类似定时器操作。

你可能感兴趣的:(学习记录)