深度揭秘std::thread
本节的内容将会帮助你:
- 深刻理解std::thead与pthread
- 解答面试必问问题
当我们在写一个lambda时,传给thread,线程创建与task调用是在何时触发?
代码语言:javascript复制auto t = std::thread([this] {
// do something
});
这这个线程中传递了一个lambda,那么本节所要解决的问题是:这个lambda何时触发?是在构造的时候?还是在某处调用时?
来,让我们一起进入源码时代。
1._M_make_routine
本节所分析的代码分别如下:
- 头文件
https://github.com/gcc-mirror/gcc/blob/releases/gcc-4.9/libstdc++-v3/include/std/thread
- 实现文件