#include <stdio.h>
#include <winsock2.h>
#include <iostream>
using namespace std;
#define THREADNUM 5
DWORD WINAPI creatsocket(LPVOID);
bool g_bContinue=TRUE;
int main()
{
HANDLE arrhThread[THREADNUM];
HANDLE hThread;
int i=0;
while(1){
for(;i<THREADNUM;i++){
hThread =CreateThread(NULL,0,creatsocket,NULL,0,NULL);
if(hThread!=NULL){
arrhThread[i]=hThread;
}else{ // Error occurred
// Stop Threads
g_bContinue = FALSE;
WaitForMultipleObjects(i,arrhThread, TRUE, INFINITE);
break;
}
Sleep(5000);
}
}
return 0;
}
DWORD WINAPI creatsocket(LPVOID lpParam)
{
int i;
while(g_bContinue){
i++;
cout<<i<<endl;
Sleep(1000);
}
return 0;
}
主函数每隔5s循环创建5个线程,在线程函数中每1s打印数字。
多个线程是否可以共用一个线程函数
最新推荐文章于 2021-05-23 20:14:26 发布