编程语言
首页 > 编程语言> > C++匿名线程学习笔记

C++匿名线程学习笔记

作者:互联网

#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

*/

 

标签:self,C++,char,匿名,线程,pthread,np,100,include
来源: https://www.cnblogs.com/hellokitty2/p/16444848.html