多线程测试

 

 

 

 

 

 

#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>

void *mythread1(void)
{
int i,j,n=0;

for(i=0;i<50;i++)
{
j=rand()%100;
if(j % 2==0){
printf("This is the 1st pthread,the number is %d\n",j);
n++;
}
sleep(1);
if(n==10)
{
return 0;
}
}
}
void *mythread2(void){
int i,j,n=0;
for(i=0;i<50;i++)
{
j=rand()%100;
if(j % 2!=0){
printf("This is the 2nd pthread,the number is %d\n",j);
n++;
}
sleep(1);
if(n==10)
{
return 0;
}
}
}

int main(int argc, const char *argv[])
{
int i = 0;
int ret = 0;
pthread_t id1,id2;

ret = pthread_create(&id1, NULL, (void *)mythread1,NULL);
if(ret)
{
printf("Create pthread error!\n");
return 1;
}

ret = pthread_create(&id2, NULL, (void *)mythread2,NULL);
if(ret)
{
printf("Create pthread error!\n");
return 1;
}

pthread_join(id1,NULL);
pthread_join(id2,NULL);

return 0;
}

posted @ 2022-11-10 09:11  不加糖的酒  阅读(34)  评论(0)    收藏  举报