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 :

programmation de thread


Sujet :

C

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 64
    Points : 48
    Points
    48
    Par défaut programmation de thread
    bonjour les amies
    je suis vraiment debutant en programmation des thread
    alors j'ai un programme en c que je dois compiler et executer, le probleme c'est que j'arrive pas a corrigé les erreur de compilation
    svp quelqu'un peut m'aider m'oriente car je suis un peu perdu je vois flou

    c'est quoi: pthread_join?
    VIDE, et NULL?
    et aussi est ce que la declaration des variables de programme des threads(ex: refrigerateur) doit etre declarer dans le main() ou avant?
    en genrale la declaration des variables utilisées dans le programme des threads on les declarent ou
    je vous remercier
    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
    37
    38
    #include <sys/types.h>
    #include <unistd.h>
    #include<stdio.h>
    #include<pthread.h>
     
     
    char refrigerateur=VIDE;
     
    int main(void){
     
    pthread_t thread1,thread2;
     
     
     pthread_create(&thread1,NULL,pere,(void*)NULL);
     pthread_create(&thread2,NULL,pere,(void*)NULL);
     
     pthread_join(thread1,NULL);
     pthread_join(thread2,NULL);
      return 0;
      }
      void*pere(void*ptr)
      {
      while(1){
      if(refrigerateur==VIDE) refrigerateur=FRUIT;
      if(refrigerateur==FRUIT) {refrigerateur=VIDE;
      else { printf("pere: qui a mange mon FRUIT\n");}
                                }
              }
      }
      void*fils(void*ptr)
      {
      while(1){
      if(refrigerateur==VIDE) refrigerateur=JUS;
      if(refrigerateur==JUS) {refrigerateur=VIDE;
      else { printf("fils: ou est mon jus!\n");}
                                }
              }
      }
    lors de la compilation c juste de metre: gcc nom nom.c -lpthread
    je dois ajouter :- lpthread!?

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    D'où vient ce code?

    Pour pthread_join, regarde la documentation, tout sera expliqué

    NULL -> mot clé du C, est ton ami ;-)

    VIDE -> une constante de ton programme non expliqué ;-)

Discussions similaires

  1. Programmation Multi-threadée et Synchronisme
    Par ChPortos dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/04/2007, 11h59
  2. [D7] programmation en thread.
    Par iluv dans le forum Delphi
    Réponses: 2
    Dernier message: 09/06/2006, 15h52
  3. Ajouter un programme comme thread (?)
    Par sloshy dans le forum Windows
    Réponses: 5
    Dernier message: 22/02/2006, 10h07
  4. Réponses: 11
    Dernier message: 14/02/2006, 00h26
  5. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53

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