salut tous,
commant appeler deux fonction en parallèle dans un programme C?
-----------------
Merci, MSM
Version imprimable
salut tous,
commant appeler deux fonction en parallèle dans un programme C?
-----------------
Merci, MSM
En parallèle ? C'est-à-dire ?
Il va falloir donner un peu plus de détails.
En utilisant la notion de thread par exemple.
j'ai un traitement sur un fichier A et un deuxiemme traitement sur un fichier B,
je veux lancer le 2 traitement en parallèle pour gagner du temps
chaque traitement est dans une fonction
Avec un processeur mono-coeur, les lancer en parallèle n'est pas concevable, en réalité, tes traitements seront découpés puis exécutés à tour de rôle par le processeur.
Sinon, oui il faut utiliser les threads.
Sachant que le standard C n'a pas de notion de "threads". Par contre, le standard POSIX si: Tu peux utiliser les fonctions de pthread, disponibles directement sur tout système POSIX, et téléchargeables sous forme de bibliothèque pour Windows.
théoriquement les pthread sont reconnus nativement.
Voici un exemple de code qui marche (en tout cas sur une station unix) :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 pthread_t ta; pthread_t tb; pthread_create (&ta, NULL, nom_de_la_fonction1, NULL); pthread_create (&tb, NULL, nom_de_la_fonction2, NULL); #if 1 pthread_join (ta, NULL); pthread_join (tb, NULL); #endif