İçeriğe geç

Thread Örnekleri

İplik oluşturma ve sonlanması.

#include<iostream>
#include<unistd.h>
#include<pthread.h>
 
using namespace std;
 
void * islem(void *arg)
{
	cout<<"THREAD BASLADI!!"<<endl;
	sleep(10);
	pthread_exit(0);
}
 
int main()
{
	pthread_t iplik;
		
	cout<<"PROC ID:"<<getpid()<<endl;
	
	pthread_create(&iplik,NULL,islem,NULL);
	cout<<"THREAD BEKLE"<<endl;
	pthread_join(iplik,NULL); //fonksiyona gitti.
	cout<<"ANA PROC SONLANDI"<<endl;
}
Çıktı :

PROC ID:19234
THREAD BEKLE
THREAD BASLADI!!
ANA PROC SONLANDI

İpliklerin birlikte çalışması ile ilgili yaptığım örnek :

#include<iostream>
#include<unistd.h>
#include<pthread.h>
using namespace std;
 
void * islem1(void *arg)
{
	cout<<"THREAD BASLADI!!::1"<<endl;
 
	for(int sayi=10;sayi<200;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=40;sayi<100;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;
}
Çıktı :

PROC ID:22842
THREAD BEKLE
THREAD BASLADI!!::1
::1::11 asaldir
::1::13 asaldir
::1::17 asaldir
::1::19 asaldir
::1::23 asaldir
::1::29 asaldir
::1::31 asaldir
::1::37 asaldir
::1::41 asaldir
::1::43 asaldir
::1::47 asaldir
::1::53 asaldir
::1::59 asaldir
::1::61 asaldir
::1::67 asaldir
THREAD BASLADI!!::2::1::71 asaldir
::1::73 asaldir
::1::79 asaldir
::1::83 asaldir
::1::89 asaldir
::1::97 asaldir
::1::101 asaldir
::1::103 asaldir
::1::107 asaldir
::1::109 asaldir
::1::113 asaldir
::1::127 asaldir

::1::131 asaldir::2::23 asaldir
::2::29 asaldir

::2::::1::137 asaldir
31 asaldir
::1::::2::37 asaldir
139::2::41 asaldir asaldir
::1::149 asaldir

::1::::2::43 asaldir
151::2:: asaldir47
 asaldir::1::157 asaldir

::1::::2::53 asaldir163
 asaldir
::2::59 asaldir
::2::61 asaldir
::2::67 asaldir
::2::71 asaldir
::2::73 asaldir
::2::79 asaldir
::1::167 asaldir
::1::173 asaldir
::1::179 asaldir
::1::181 asaldir
::1::191 asaldir
::1::193 asaldir
::1::197 asaldir
::1::199 asaldir
ANA PROC SONLANDI

Kategori:AnasayfaC++İşletim Sistemleri

İlk Yorumu Siz Yapın

Bir cevap yazın

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

× Nasıl yardımcı olabilirim?