测试环境:win+vs+默认编译器
注意:存在内存泄漏,仅做测试代码。
测试结果,多次跑代码创建的对象个数不一定是10000个。
#include <iostream>
#include <thread>
using namespace std;
class A {
public:
A() {
++a;
}
static int a;
};
int A::a = 0;
void thread_fun(int num) {
while (A::a < 10000) {
new A;
}
}
int main() {
thread myThread1(thread_fun, 1);
thread myThread2(thread_fun, 2);
thread myThread3(thread_fun, 3);
thread myThread4(thread_fun, 4);
myThread1.join();
myThread2.join();
myThread3.join();
myThread4.join();
cout << "end: " << A::a << endl;
return 0;
}