C/C++教程

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

*/

 

这篇关于C++匿名线程学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!