//Demo1.cpp
//#include "stdafx.h"
#include "iostream.h"
//#include"process.h"//CreateThread(),ExitThread(),CloseHandle()
#include "windows.h"
#include "stdio.h"
/////////////////////////////////////线程 例子1////////////////////////
/*
BOOL repeat=TRUE; //几个线程共享全局变量repeat
DWORD WINAPI MyThread1(LPVOID lpParameter)
{
while(repeat)
{
printf("How are you? -----1-------MyThread1\n");
Sleep(5); ////
}
DWORD exitCode;
ExitThread(exitCode);
return 0;
}
DWORD WINAPI MyThread2(LPVOID lpParameter)
{
while(repeat)
{
printf("Very Well! ------2------MyThread2\n");
Sleep(1);///
}
DWORD exitCode;
ExitThread(exitCode);
return 0;
}
DWORD WINAPI KillThread(LPVOID lpParameter)
{
repeat=FALSE;
return 0;
}
int main(int argc,char* argv[])
{
HANDLE handle1,handle2,handle3;
DWORD dw1,dw2,dw3;
handle1=CreateThread(NULL,0,MyThread1,NULL,0,&dw1);
if(handle1==NULL)
{
printf("Create Thread 1 Failed!\n");
return -1;
}
handle2=CreateThread(NULL,0,MyThread2,NULL,0,&dw2);
if(handle2==NULL)
{
printf("Create Thread 2 Failed!\n");
return -1;
}
Sleep(6000); /////
handle3=CreateThread(NULL,0,KillThread,NULL,0,&dw3);
if(handle3==NULL)
{
printf("Create Thread 3 Failed!\n");
return -1;
}
CloseHandle(handle1);
CloseHandle(handle2);
CloseHandle(handle3);
return 0;
}
*/
/////////////////////////////////////////////////
/////////////////////////////////////例子2////////////////////////
DWORD WINAPI MyThread(LPVOID lpParameter)
{
for(int i=0;i<100;i++)
{
printf("hello,everybody! ------------MyThread\n");
cout<<"My Thread ID:"<<GetCurrentThreadId()<<endl;
Sleep(100); ////
}
// DWORD exitCode;
// ExitThread(exitCode);
return 0;
}
int main(int argc,char* argv[])
{
HANDLE handle;
DWORD dw;
handle=CreateThread(NULL,0,MyThread,NULL,0,&dw);
/*
if(handle==NULL)
{
printf("Create Thread Failed!\n");
return -1;
}
*/
Sleep(100);
for(int i=0;i<10;i++)
{
printf("*****Now,Suspended!****\n");
SuspendThread(handle); /////
for(int j=0;j<3;j++)
{
printf("Good Thank you !\n");
Sleep(100);
}
printf(">>>>Now Resumed!>>>>\n");
ResumeThread(handle); /////
Sleep(300);
}
GetExitCodeThread(handle,&dw);
cout<<"Thread Exit ID:"<<GetCurrentThreadId()<<endl;
CloseHandle(handle);
return 0;
}
评论