gcc -pthread
Kutubxonani qo‘shish
#include
main funksiyasi bilan birinchi oqim hosil qilinadi, undan keyin pthread_create() funksiyasi orqali keyingi oqim hosil qilinadi. Bu oqim yana bir oqimni hosil qilishi mumkin.
pthread_create(&pid,&attr,func,arg);
arg – func funksiyasining jo‘natadigan parametri bo‘lib, agar oqim muafaqiyatli amalga oshirilsa nol qiymati jo‘natiladi.
Har bir oqim uchun qo‘yidagi parametrlar aniqlanadi:
Qo‘yida bir masalani ko‘rib chiqamiz:
#include
#include
void * any_func (void * args)
{
fprintf (stderr, "Hello World\n");
return NULL;
}
int main (void)
{
any_func (NULL);
fprintf (stderr, "Goodbye World\n");
return 0;
}
End ushbu masalani oqim bilan yozamiz:
#include
#include
#include
void * any_func (void * args)
{
fprintf (stderr, "Hello World\n");
return NULL;
}
int main (void)
{
pthread_t thread;
int result;
result = pthread_create
(&thread, NULL, &any_func, NULL);
if (result != 0) {
fprintf (stderr, "Error\n");
return 1;
}
fprintf (stderr, "Goodbye World\n");
return 0;
}
Oqim bilan ishlaganda masalalar parallel ravishda ishlaydi.
Oqimlar qo‘yidagicha bajariladi:
Oqimli funksiya nomli funksiya yaratiladi { XE "Funksiya:oqimli" }.
pthread_create() funksiya { XE "Funksiya:pthread_create()" } orqali oqim yaratiladi, (bu boshqa dasturlarga parallel ravishda ishlaydi)
Chaqirilgan tomon faoliyatini oqimli funksiyani kutmasdan ishlayveradi.
Do'stlaringiz bilan baham: |