Eszközök a webhelyen


oktatas:programozás:c:szálkezelés

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:programozás:c:szálkezelés [2017/10/02 20:29] (aktuális)
Sor 1: Sor 1:
 +[[oktatas:​programozás:​c|<​ C]]
 +
 +====== Szálkezelés ======
 +===== Példa01 =====
 +
 +<code c 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); ​
 +}
 +</​code>​
 +
 +Makefile Linuxon:
 +<code Makefile Makefile>​
 +all:
 + gcc -pthread -o main main.c
 +</​code>​
 +
 +
 +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:
 +<​code>​
 +pstree -p joska
 +bash(6813)───main(7064)─┬─{main}(7065)
 +                        └─{main}(7066)
 +</​code>​
 +
 +Vagy:
 +<​code>​
 +pstree -c joska
 +bash───main─┬─{main}
 +            └─{main}
 +</​code>​
 +
  
oktatas/programozás/c/szálkezelés.txt · Utolsó módosítás: 2017/10/02 20:29 (külső szerkesztés)