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

Python Discussion :

multiprocessing python 2.6


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut multiprocessing python 2.6
    Bonjour,

    j'essaye d'utiliser le module multiprocessing de python ,
    j'ai commencé par tester le modèle basic :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    from multiprocessing import Process
     
    def f(name):
        print ('hello', name)
     
    if __name__ == '__main__':
        p = Process(target=f, args=('bob',))
        p.start()
        p.join()
    mais python ne m'affiche rien,
    est ce normal?

    Merci

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    il n'y a pas d'erreur, je vois pas, ça devrait afficher "hello bob"

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Ça marche dans une vraie console, et pas forcément dans un outil de développement.

    Chez moi (Python 2.7), ça ne marche pas avec PyScrypter, mais ça marche avec Pydev (Eclipse). Je n'ai pas osé essayer avec idle, lui-même écrit en Python...

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    Je vous remercie pour vos réponses,
    En effet, j'utilise IDLE pour éditer mon code,
    donc je laisse tomber? ça ne m'affichera jamais rien?

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Par défaut
    sinon, pour utiliser tous les coeurs de ma machine,
    j'ai trouvé sur internet une fonction qui récupère le nombre de coeurs, :
    multiprocessing.cpu_count()

    mais alors comment faire pour intégrer le nombre de coeurs dans mon code?
    n lignes pour n coeurs?

    merci

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Idle permet de faire des programmes qui marchent, à condition de ne pas trop utiliser des mécanismes comme le multiprocessing parce qu'il est lui-même écrit en Python. Dans ce cas, on peut continuer à développer avec idle, mais en exécutant dans une console séparée: c'est très facile à faire.

    Mais bon. Idle est tout de même un outil de développement un peu simple, et il y en a beaucoup d'autres: il y a un forum qui leurs sont entièrement consacré.

    Pour exploiter les différents cœurs de la machine: il y a déjà eu plusieurs fils très intéressants sur le sujet, et ce n'est pas simple... Je ne suis pas sûr que Python 2.6 en soit capable, même avec le multiprocessing, à cause du verrou global ("global interpreter lock" = GIL). Se reporter à ces fils.

Discussions similaires

  1. multiprocessing avec python
    Par khadi8 dans le forum Général Python
    Réponses: 1
    Dernier message: 17/06/2014, 20h38
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  4. Réponses: 16
    Dernier message: 30/01/2004, 11h05
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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