- 论坛徽章:
- 0
|
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
#include <strings.h>
#define MAXTHREAD 50
void *GetHlrThr1()
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",1);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test -222685306 \"HGSDP:MSISDN=8613508247798,ALL;\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
void *GetHlrThr2()
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",2);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test 642805463 \"DISPMSUB:SN=80649621,DATAKD=DIAGDATA,NDC=138;\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
void *GetHlrThr3()
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",3);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test -160506378 \"LST SUB:ISDN=\\\"8613508299174\\\";\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
void *GetHlrThr4()
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",4);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test 642805463 \"DISPMSUB:SN=80765903,DATAKD=DIAGDATA,NDC=138;\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
void *GetHlrThr5()
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",5);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test 642805463 \"DISPMSUB:SN=47836448,DATAKD=DIAGDATA,NDC=135;\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
void *GetHlrThr6()
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",6);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test 642805463 \"HGSDP:MSISDN=8613698106994,ALL;\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
int main()
{
/*int i = 0;
for(;i<10;i++)
{
char log[10];
char num[3];
memset(num,0,3);
memset(log,0,10);
sprintf(num,"%d",i);
strcpy(log,"log");
strcat(log,num);
char cmd[100];
memset(cmd,0,100);
strcpy(cmd,"./test -222685306 \"HGSDP:MSISDN=8613508247798,ALL;\" ");
strcat(cmd,log);
printf("cmd(%s)\r\n",cmd);
system(cmd);
}
pthread_t thrs[MAXTHREAD];
int ithrs[MAXTHREAD];
int i = 0;
for(;i<MAXTHREAD;i++)
{
ithrs[i]= 1;
}
i = 0;
for(;i<MAXTHREAD;i++)
{
//int iThread = pthread_create(&thrGetData,NULL,GetData,NULL);
ithrs[i] = pthread_create(&(thrs[i]),NULL,GetHlrThr,NULL);
printf("thr%d\r\n",i);
}
int k=0;
while(k>MAXTHREAD)
{
i=0;
for(;i<MAXTHREAD;i++)
{
if(ithrs[i] == 0)
{
pthread_join(ithrs[i],NULL);
k++;
}
}
}
return 0;
*/
pthread_t thr1,thr2,thr3,thr4,thr5,thr6,thr7,thr8,thr9,thr10;
int i1,i2,i3,i4,i5,i6,i7,i8,i9,i10;
i1=pthread_create(&thr1,NULL,GetHlrThr1,NULL);
i2=pthread_create(&thr2,NULL,GetHlrThr2,NULL);
i3=pthread_create(&thr3,NULL,GetHlrThr3,NULL);
i4=pthread_create(&thr4,NULL,GetHlrThr4,NULL);
i5=pthread_create(&thr5,NULL,GetHlrThr5,NULL);
i6=pthread_create(&thr6,NULL,GetHlrThr6,NULL);
/*i7=pthread_create(&thr7,NULL,GetHlrThr,NULL);
i8=pthread_create(&thr8,NULL,GetHlrThr,NULL);
i9=pthread_create(&thr9,NULL,GetHlrThr,NULL);
i10=pthread_create(&thr10,NULL,GetHlrThr,NULL);*/
pthread_join(thr1,NULL);
pthread_join(thr2,NULL);
pthread_join(thr3,NULL);
pthread_join(thr4,NULL);
pthread_join(thr5,NULL);
pthread_join(thr6,NULL);
/*pthread_join(thr7,NULL);
pthread_join(thr8,NULL);
pthread_join(thr9,NULL);
pthread_join(thr10,NULL);*/
printf("成功执行!\r\n");
}
以上是一个简单的多线程调用程序 |
|