Mar*_*ott 6 c++ c++11 stdthread
我有一个类对象,在某些情况下只需要启动一个线程.在析构函数中,无论何时有线程都可以方便地知道.问题是,如何检测std :: thread对象是否是有效线程.
class MyClass
{
public:
~MyClass()
{
// Attention pseudocode!!!!!
if(mythread is a valid object)
mythread.join();
if(mythread was a valid object in its lifetime)
Do some stuff
}
void DoSomeStuff()
{
// May or may not create a thread
}
private:
std::thread mythread;
};
Run Code Online (Sandbox Code Playgroud)
我相信你正在寻找这个joinable
功能:
~MyClass()
{
if (t.joinable()) { t.join(); }
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4027 次 |
最近记录: |