salut tous,
commant appeler deux fonction en parallèle dans un programme C?
-----------------
Merci, MSM
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.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
théoriquement les pthread sont reconnus nativement.
Voici un exemple de code qui marche (en tout cas sur une station unix) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager