#include "stdafx.h"
#include <iostream>
//#include <windows.h>
#include <thread>
using namespace std;
class A
{
public:
int global_a;
public:
void printA(){ cout << "hello world!" << endl; }
void funA();
void ThreadProc();
};
void A::ThreadProc()
{
this->printA();
}
void A::funA()
{
global_a = 0;
//HANDLE thread = CreateThread(NULL, 0, ThreadProc, this, 0, NULL);
thread t1(&A::ThreadProc, this);//C++11,创建一个分支线程,回调到myThread函数里
t1.detach();
}
int _tmain(int argc, _TCHAR* argv[])
{
A a;
a.funA();
system("pause");
return 0;
}
windowsAPI调用的函数
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
//#include <windows.h>
#include <thread>
using namespace std;
class A
{
public:
int global_a;
public:
void printA(){ cout << "hello world!" << endl; }
void funA();
void ThreadProc();
};
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
for (int i = 0; i < 5; ++i)
{
cout << "子线程:i = " << i << endl;
Sleep(100);
}
A * a = (A*)lpParameter;
a->printA();
return 0L;
}
/*
void A::ThreadProc()
{
this->printA();
}
*/
void A::funA()
{
global_a = 0;
HANDLE thread = CreateThread(NULL, 0, ThreadProc, this, 0, NULL);
//thread t1(&A::ThreadProc, this);//创建一个分支线程,回调到myThread函数里
t1.detach();
}
int _tmain(int argc, _TCHAR* argv[])
{
A a;
a.funA();
system("pause");
return 0;
}