了解线程的构造
问题描述:
的基础知识,我需要帮助理解下面一行:了解线程的构造
FSDFSDFSDFSDF看来,runThread
功能与thread_ptr
工作。为什么在构造函数调用之后需要分配到thread_ptr
?
}
};
class FGDD {
list<unique_ptr<AbstractAlgorithm>> algorithms;
atomic_size_t DGFG{0};
mutex print_lock;
template<typename... Ts>
void message(const Ts&... ts) {
lock_guard<mutex> lock(print_lock);
using swallow = int[];
(void)swallow{0, (void(cout << ts), 0)...};
cout << endl;
}
答
关于这条线:
thread_ptr = make_unique<thread>(&Simulation::runThread, this);
据构建thread
它运行runThread(this)
又名this->runThread()
,其中this
是Simulation
实例。
Simulation::runThread()
似乎没有参数,但实际上它是一个成员函数,所以它有一个隐含的this
,就好像它是宣称:
void runThread(Simulation* this)
当“这个”获得通过,它的意思是主线程或'thread_ptr'? – tami
这不是一个线程。这是'模拟'。 –
它是主要的's'吗? – tami