< C

Szálkezelés

Példa01

main.c
#include <stdio.h>
#include <pthread.h>
 
void* egy()
{  
	printf("\nAz első szál fut és vár\n");
	sleep(10);
	printf("\nAz első szál vége\n");
}
void* ketto()
{
	printf("\nA második szál fut és vár\n ");
	sleep(10);
	printf("\nA második szál vége\n ");
}
 
int main()
{
    pthread_t t1,t2;
    pthread_create(&t1, NULL, egy, NULL);
    pthread_create(&t2, NULL, ketto, NULL);
    printf("\nA főszál\n");
	sleep(10);
    pthread_join(t2,NULL); 
}

Makefile Linuxon:

Makefile
all:
	gcc -pthread -o main main.c

Linux alatt jól megfigyelhető a szálak futása. Ha a joska nevű felhasználóval futtatjuk a programot, akkor megnézhető például így:

pstree -p joska
bash(6813)───main(7064)─┬─{main}(7065)
                        └─{main}(7066)

Vagy:

pstree -c joska
bash───main─┬─{main}
            └─{main}