İplik ile ilgili uygulama

#include<iostream>
#include<sys/syscall.h>
#include<pthread.h>
#include<unistd.h>
#include<cstdlib>
using namespace std;

void * tasal(void *sayi)
{
int sayac=0;
int sayim=(int)sayi;
if(sayim==0)
{  cout<<"0"<<" "<<"asal değildir"<<endl;
return 0;

}
if(sayim==1)
{  cout<<"1"<<" "<<"asal değildir"<<endl;
return 0;

}
   for(int j=2;j<=sayim/2;j++)
      if(sayim%j==0)
          {
            sayac++;
            break;
          }
 if(sayac==0)
  cout<<sayim<<" "<<"asaldır"<<endl;
  else
  cout<<sayim<<" "<<"asaldegildir"<<endl;

 }
void * tfibonacci(void*sayi)
{ int * a=(int*)sayi;
int sayim=*a;
int s1=0;
int s2=1;
int s3=0;


while(s3<sayim)
{s3=s2+s1;
s1=s2;
s2=s3;
if(s3==sayim)
   {
     break;

   }
}
if(s3==sayim)
cout<<sayim<<" "<<"Fibonacci sayısıdır"<<endl;
else
cout<<sayim<<" "<<"Fibonacci sayısı değildir"<<endl;

}
int main()
{
int dizi[5]={5,13,2,8,6};
int boyut=sizeof(dizi)/sizeof(int);
pthread_t iplik[boyut], iplik2[boyut];


for(int i=0;i<boyut;i++)
{
pthread_create(&iplik[i],NULL,tfibonacci,&dizi[i]);
pthread_create(&iplik2[i],NULL,tasal,(void*)dizi[i]);

}

for(int i=0;i<boyut;i++)   //ipliklerin bitmesini bekle ondan sonra sonlan
{
pthread_join(iplik[i],NULL);
pthread_join(iplik2[i],NULL);
}




return 0;}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir