// CreateThread.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <windows.h>
class A{
public:
A();
~A();
void StartThread();
void StopThread();
private:
static DWORD WINAPI ThreadProc(void *pParam);
HANDLE m_hThread;
unsigned int m_uiCounter;
};
A::A()
{
m_uiCounter = 0;
}
A::~A()
{
}
DWORD WINAPI A::ThreadProc(void *pParam)
{
A *pa=(A*)pParam;
while(1)
{
pa->m_uiCounter++;
printf("\nThread working ... Tick:%d",pa->m_uiCounter);
//Beep(pa->m_uiCounter*100%8000,100);
Sleep(20);
}
return 0;
}
void A::StartThread()
{
DWORD dwThread;
m_hThread = CreateThread(NULL,0,ThreadProc,(LPVOID)this,0,&dwThread);
if(m_hThread)
{
printf("\n启动线程成功! ID:%d",dwThread);
}else
{
printf("\n启动线程失败!");
}
}
void A::StopThread()
{
TerminateThread(m_hThread,0);
printf("\n结束线程!");
}
int main(int argc, char* argv[])
{
A a;
for(int i=0;i<100;i++)
{
a.StartThread();
Sleep(5000);
a.StopThread();
}
printf("Hello World!\n");
return 0;
}