http://blog.csdn.net/chen825919148/article/details/7904305
#include <windows.h>
#include <iostream>
#include <string>
using namespace std;
DWORD WINAPI myThread(LPVOID argv);//声明一个线程函数
int main(int argc, char *argv[])
{
string s;
HANDLE myHandle=NULL;
do
{
cin.clear(); cin.sync();
cin>> s;
switch(s.at(0))
{
case '0':
myHandle = CreateThread(NULL,0,myThread,(LPVOID)s.c_str(),0,NULL);//创建线程
break;
case '1':
if(myHandle) SuspendThread(myHandle);//挂起线程
break;
case '2':
if(myHandle) ResumeThread(myHandle);//恢复线程
break;
case '3':
if(myHandle) TerminateThread(myHandle,0);//终止线程
break;
case '4':
if(myHandle) SetThreadPriority(myHandle,THREAD_PRIORITY_NORMAL);//设定线程优先级
break;
default:
break;
}
cout<< s << endl;
}while(s!="exit" && s!= "quit");
return 0;
}
DWORD WINAPI myThread(LPVOID argv)
{
int i = 0;
char buff[200];
ZeroMemory(buff,sizeof(buff));
memcpy(buff,argv,200);
while(++i)
{
cout<< "Extra thread executing with argument string:"<< buff <<endl;
Sleep(1000);
if(i == 40) ExitThread(0);//退出自身线程
}
}
输出结果: