Bonjour,

voici un petit exemple d'utilisation de thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// On inclue les fichiers standard et le header pthread.h
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
 
void* maFonction(void* data);
 
 
 
int main()
{
    int i;
 
    pthread_t thread;// On crée un thread
    pthread_create(&thread, NULL, maFonction, NULL);// Permet d'exécuter le fonction maFonction en parallèle
 
    // Affiche 50 fois 1
    for(i=0 ; i<50 ; i++)
        printf("1");
 
    // Attend la fin du thread créé
    pthread_join(thread, NULL);
    return 0;
}
 
 
void* maFonction(void* data)
{
    int i;
 
    // Affiche 50 fois 2
    for(i=0 ; i<50 ; i++)
        printf("2");
 
    return NULL;
}
Est-ce que quelqu'un peut m'expliquer comment ça fonctionne exactement une library de ce type ? => je n'arrive pas à comprendre comment dans le bout de code suivant (dans le main), le programme bascule sur le code de la fonction du thread puis revient dans la boucle (il n'y a aucuns tests qui permet d'interrompre la boucle) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    // Affiche 50 fois 1
    for(i=0 ; i<50 ; i++)
        printf("1");

si vous avez un exemple simplifié/commenté de ce type de library je suis preneur ...