#include<iostream>
#include<thread>
#include<Windows.h>
using namespace std;
//void operator ()() 对象名当作函数名,重载 ()
// () 仅仅适用于当前结构体对象
//不适合作为比线程参数,销毁太快
struct myStruct
{
myStruct()
{
cout << "create object" << endl;
}
~myStruct()
{
cout << "delete object" << endl;
}
void operator()()
{
MessageBoxA(0, "对话框", "提示!", 0);
}
};
void main()
{
myStruct go1;
thread t1(go1);
myStruct go2;
thread t2(go2); //让每个对像名,变成函数名
//myStruct():这个是构造函数 匿名对象。
myStruct()();
//不适合作为比线程参数,销毁太快
thread t3(myStruct());
t1.join();
t2.join();
cin.get();
}