在以下代码中,.get_id()调用在 CentOS 上运行时返回相同的值;但在 Windows 上,相同的代码返回不同的值。
为什么?
#include <unistd.h>
#include <iostream>
#include <thread>
void dosomework()
{
std::cout << std::this_thread::get_id() << std::endl;
}
int main()
{
for (int i = 0; i < 10; ++i){
std::thread connectthread([](){
dosomework();
});
std::cout << "connectthread:" << connectthread.get_id() << std::endl;
connectthread.join();
sleep(1000);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)