C++标准库 2020-08-13

2020-08-13  本文已影响0人  liyangyao

vs2019

/std:c++latest
qDebug()<<_MSC_VER;
QMAKE_CXXFLAGS += /std:c++latest

线程

#include <thread>
#include <chrono>
//sample 1 - 最精简的用法
std::thread t([]()
{
    //...
});
//线程对象所代表的执行实例与该线程对象分离,使得线程的执行可以单独进行。一旦线程执行完毕,它所分配的资源将会被释放。
t.detach();

//sample 2
m_thread = std::thread([this]()
{
    while(!m_quit)
    {
        qDebug()<<"alive";
        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    }
    qDebug()<<"quit now";
});

//停止线程
qDebug()<<"clicked joinable="<<m_thread.joinable();;
m_quit = true;
m_thread.join();
qDebug()<<"end";
上一篇 下一篇

猜你喜欢

热点阅读