在二次开发软件过程中,需要开启一个新线程,重复执行一段操作,类似于MFC的定时器。
想了很久(菜鸟),发现函数sleep_for可以使用。
下面简单的例子:
#include <iostream>
#include <thread>
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"<<std::endl;
system("pause");
}
运行结果如下:
Hello E
Hello world
请按任意键继续. . . Hello world
Hello world
可以看出 先执行后面的语句,不会堵塞,开启的线程每隔1秒执行打印操作,类似定时器操作。