#include <iostream> #include <utility> #include <thread> #include <chrono> #include <functional> #include <atomic> using namespace std; int main() { char name2[100] = "Word"; std::thread ([name2]() { std::string name = "abccccccccccccc"; char name1[100] = "Hello"; // 注意设置的线程名字不能超过15个字符。 //pthread_setname_np(pthread_self(), name.substr(0, 15).c_str()); pthread_getname_np(pthread_self(), name1, 100); pthread_getname_np(pthread_self(), (char *)name2, 100); // other works //while(1); cout << name1 << endl; //}).join(); }).detach(); //啥也不会打印的 cout << name2 << endl; return 0; } /* 选择join(): ~/tmp/test/cpp_test$ g++ -std=c++11 std_thread.cpp -pthread ~/tmp/test/cpp_test$ ./a.out a.out //匿名线程名就是父线程的名字 Word 选择detach(): ~/tmp/test/cpp_test$ g++ -std=c++11 std_thread.cpp -pthread ~/tmp/test/cpp_test$ ./a.out Word */