touch pthread_example.c
#include <stdio.h>
#include <pthread.h>
#include <math.h>
int is_First(int value)
{
int i,sum;
sum=0;
for(i=1;i<value+1;i++)
if(value%i==0)
++sum;
if(sum==2)
return 1;
else
return 0;
}
void *print_First(void *pF)
{
int i=2;
while(1)
{
for(;;)
{
if(is_First(i))
{
printf("%d\n",i);
}
++i;
}
}
return NULL;
}
void *print_Sqrt(void *pS)
{
int i;
i=1;
for(;;)
{
if(is_First(i))
{
printf("%f\n",sqrt(i*1.0));
}
++i;
}
return NULL;
}
int main(int argc, char **argv)
{
pthread_t first_Id;
pthread_t first_Sqrt;
pthread_create(&first_Id,NULL,&print_First,NULL);
pthread_create(&first_Sqrt,NULL,&print_Sqrt,NULL);
pthread_join(first_Id,NULL);
pthread_join(first_Sqrt,NULL);
return 0;
}
gcc -o pthread_example pthread_example.c -lpthread -lm
Brak komentarzy:
Prześlij komentarz