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

Linux Discussion :

[C++] cout & pthreads


Sujet :

Linux

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut [C++] cout & pthreads
    Bonjour,

    Voila, je cherche a faire fonctionner quelques threads en C++. J'ai un code tres simple qui ne veut pas fonctionner: un cout dans main affiche sans probleme, mais un cout dans la fonction executée par le thread n'affiche rien.
    Il semblerait que le thread soit bien créé puisque je n'ai pas d'erreur a la création du thread.

    Les commentaires: j'ai tenté de faire inscrire sur cout du texte via le thread principal et le thread créé, mais le thread créé n'ecrit jamais rien. J'ai tenté un mutex sur cout qui apparement n'etait pas thread safe, mais rien n'y faisait. J'ai tenté de flusher, toujours rien...

    Ou est mon erreur ?

    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
    #include <iostream>
    #include <pthread.h>
    #include <unistd.h>
     
    pthread_mutex_t coutMutmut = PTHREAD_MUTEX_INITIALIZER;
     
    void* foo(void* arg)
    {
    	//pthread_mutex_lock( &coutMutmut );
    	std::cerr << "surpouaite.\n" << std::endl;
    	//std::cerr.flush();
    	//pthread_mutex_unlock( &coutMutmut );
    	return NULL;//pthread_exit(0);
    }
     
    int main(int argc, char argv)
    {
    	pthread_t id;
    	if(pthread_create(&id, NULL, foo, NULL))
    		std::cout << "argh" << std::endl;
    	        //else;
    		//pthread_mutex_lock( &coutMutmut );
    		//std::cout << "pouaite.\n" << std::endl;
    		//std::cout.flush();
    		//pthread_mutex_unlock( &coutMutmut );
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut
    ok trouvé, je dois join le thread avant de quitter.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pthread et semaphores
    Par Yabo dans le forum Linux
    Réponses: 9
    Dernier message: 30/03/2008, 00h09
  2. Des problemes avec ces threads <pthread.h>
    Par nasamad dans le forum GTK+ avec C & C++
    Réponses: 26
    Dernier message: 07/07/2006, 12h46
  3. cout {}
    Par graphicsxp dans le forum SL & STL
    Réponses: 9
    Dernier message: 07/08/2004, 00h30
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34

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