IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

faire des Multi-threads ?


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 52
    Points : 29
    Points
    29
    Par défaut faire des Multi-threads ?
    Bonjours j'aurais besoin d'aide car je ne comprend pas vraiment comment faire des multi thread.. un ok mais plusieurs

    pour faire un thread normale on fait par exemple ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <pthread.h>
     
    //.........
     
    pthread_t thread;/* crée un thread */
    pthread_create(&thread, NULL, exemple, NULL);
     
    //.........
     
    pthread_join(thread, NULL);


    mais pour plusieurs je peut faire comme ça ? ou faut que je fasse autrement ?

    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
    #include <pthread.h>
     
    //.........
     
    pthread_t threadUn;/* crée un thread */
    pthread_create(&threadUn, NULL, test, NULL);
     
    //............
     
    pthread_t thread;/* crée un thread */
    pthread_create(&thread, NULL, exemple, NULL);
     
    //.........
     
    pthread_join(thread, NULL);
     
    //..........
     
    pthread_join(threadUn, NULL);
    Merci

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par AddicTion Voir le message
    [...]mais pour plusieurs je peut faire comme ça ? ou faut que je fasse autrement ?[...]
    Pas de problème avec ce que tu as écrit.

    Après si tes threads font tous la même choses sur des données différentes, tu peux automatiser la création dans une boucle :

    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
    void * fonction (void*arg) 
    {
        printf("thread %d\n", (int) arg);
        return NULL;
    }
    int main(void)
    {
        int data[10] = {...};
        pthread_t threads[10];
        for(i = 0; i < 10; ++i) {
            pthread_create(&threads[i], NULL, fonction, data[i]);
        }
        for(i = 0; i < 10; ++i) {
            pthread_join(threads[i], NULL);
     
        }
        return 0;
    }
    Une bonne lecture sur les pthread : http://franckh.developpez.com/tutoriels/posix/pthreads/

Discussions similaires

  1. Recherche logiciel pour faire des multi-boot sur clé USB
    Par Invité dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 16/10/2014, 18h56
  2. Comment faire du multi thread en php?
    Par sirbaldur dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/01/2007, 17h56
  3. [VC++/MFC] Comment faire des threads?
    Par OverLorD34 dans le forum MFC
    Réponses: 6
    Dernier message: 15/05/2006, 09h55
  4. [Perl]Brute force, faut il faire des thread ?
    Par LE NEINDRE dans le forum Langage
    Réponses: 5
    Dernier message: 27/03/2006, 09h31
  5. [VB6][active x] faire du multi-thread avec vb
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/05/2003, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo