İşletim Sistemleri (Bahar-2016) Hafta-5/2
Thread ile asal sayılar:
#include<iostream> #include<unistd.h> #include<pthread.h> using namespace std; void * islem1(void *arg) { cout<<"THREAD BASLADI!!::1"<<endl; for(int sayi=100;sayi<2000;sayi++) { int sayac=0; for(int i=2;i<(sayi/2);i++) { if(sayi%i==0) { sayac++; break; } } if(sayac==0) cout<<"::1::"<<sayi<<" asaldir"<<endl; } pthread_exit(0); } void * islem2(void *arg) { cout<<"THREAD BASLADI!!::2"<<endl; for(int sayi=3000;sayi<9000;sayi++) { int sayac=0; for(int i=2;i<(sayi/2);i++) { if(sayi%i==0) { sayac++; break; } } if(sayac==0) cout<<"::2::"<<sayi<<" asaldir"<<endl; } pthread_exit(0); } int main() { pthread_t iplik1,iplik2; cout<<"PROC ID:"<<getpid()<<endl; pthread_create(&iplik1,NULL,islem1,NULL); pthread_create(&iplik2,NULL,islem2,NULL); cout<<"THREAD BEKLE"<<endl; pthread_join(iplik1,NULL); pthread_join(iplik2,NULL); cout<<"ANA PROC SONLANDI"<<endl; }