• # Euh

    Posté par (site web personnel) . En réponse au message Threading : comment faire un sys.stdout sur plusieurs lignes (ou identifier chaque thread) ?. Évalué à 2.

    Je connais pas mython, mais c'est un bête problème de concurrence et de POO que tu poses là.

    Tu veux pas faire print sur STDOUT.
    Tu veux un objet Out qui gère la sortie.

    Et tu fais
    Out.print(self, self.progression)

    L'objet (unique) Out, tient une table indexée par objets (d'où le passage de self), et qui pointe vers la progression.
    Puis à chaque print, il parcourt la table, et l'affiche

    Out.table.each(obj, prog) {
    Stdout.printf("%s : %i%n",obj.toString, prog);
    }


    Bon, c'est du pseudocode, mais l'idée est là...
    Vu que l'appelle de méthode, lui, est atomique, pas besoin de lock. Et tu peux laisser l'objet Out afficher sans aucun problème sur stdout, avec ncurses, etc.