c++并发与多线程学习笔记——类线程的调用
#include <iostream>
#include <thread>
using namespace std;
class TA
{
public:
int m_i;
TA(int i) :m_i(i)
{
cout << "TA()构造函数被执行" << endl;
}
TA(const TA &ta) :m_i(ta.m_i)
{
cout << "TA()拷贝构造函数被执行" << endl;
}
~TA()
{
cout << "~TA()析构函数被执行" << endl;
}
void operator()()
{
cout << "1 m_i的值为:" << m_i << endl;
cout << "2 m_i的值为:" << m_i << endl;
cout << "3 m_i的值为:" << m_i << endl;
cout << "4 m_i的值为:" << m_i << endl;
}
};
int main()
{
int myi = 6;
TA ta(myi);
thread myjob3(ta);
myjob3.join();
cout << "你好" << endl;
return 0;
}
''''''''''''''''''''''
TA()构造函数被执行
TA()拷贝构造函数被执行
TA()拷贝构造函数被执行
~TA()析构函数被执行
1 m_i的值为:6
2 m_i的值为:6
3 m_i的值为:6
4 m_i的值为:6
~TA()析构函数被执行
你好
~TA()析构函数被执行