4.自定义线程

 1 #include <iostream>
 2 #include <thread>
 3 #include <cstdlib>
 4 #include <iostream>
 5 using namespace std;
 6 
 7 class mythread :public thread
 8 {
 9 public:
10     mythread() :thread()
11     {
12 
13     }
14 
15     //class 模板,...Args可变模板
16     template<class T,class...Args>             //调用类的构造函数,参数是一个函数模板,类对象作为参数
17     mythread(T &&func, Args &&...args) : thread(forward<T>(func), forward<T>(args)...)
18     {
19 
20     }
21 
22     void show()
23     {
24         cout << "hello" << endl;
25     }
26 
27     void run(const char *cmd)
28     {
29         system(cmd);
30     }
31 };
32 
33 void main()
34 {
35     mythread t1([]() { cout << "hello1"; });
36     mythread t2([]() { cout << "hello13"; });
37     t1.show();
38     t1.run("calc");
39     cin.get();
40 }
原文地址:https://www.cnblogs.com/xiaochi/p/8689218.html