Nos beugs - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Communauté (https://dev.n-pn.fr/forum/forumdisplay.php?fid=10) +--- Forum : Le bistrot (https://dev.n-pn.fr/forum/forumdisplay.php?fid=17) +--- Sujet : Nos beugs (/showthread.php?tid=2690) Pages :
1
2
|
Nos beugs - InstinctHack - 12-02-2013 Salut, Qui peux prétendre programmer et n'avoir jamais rencontré un beug ? personne Et malgré la haine qu'on as contre eux sur le moment, quel bonheur de COMPRENDRE pourquoi et ainsi corrigé, améliorer et avancer, et cela même si c'est au prix d'heure de recherche, car on est des hackers et qu'on aime ça (limite sado parfois :') ) Et vu que je me retrouve fasse à pas mal de beug insolite en ce moment je partage Je ne dis pas pourquoi, je vous laisse chercher Je donne [+1] de réputation à celui qui trouve le premier la raison à l'un beug 1 Code python (valide 2.7 et 3.2) mais ne marche pas... Code PYTHON :
2 Le premier as avoir trouver est supersnail Code python (valide 2.7 et 3.2) Code PYTHON :
La sortie attendue est : Citation :Je suis le pèreEt pourtant c'est l'inverse qui se produit... pourquoi?? j'en rajouterais quand je m'en souviendrais ou affronterais d'autres :/ RE: Nos beugs - notfound - 12-02-2013 (12-02-2013, 13h56)khaled a écrit : Code python (valide 2.7 et 3.2) Tu appelles ton thread avant. Personnellement, pour avoir la réponse attendue, j'ai juste fait : Code PYTHON :
Code BASH :
CQFD RE: Nos beugs - InstinctHack - 12-02-2013 Notfound, le lancement de thread est non bloquant, donc on passe direct au reste du code alors pourquoi là ça ne se fait pas... pour moi t'as pas validé :p RE: Nos beugs - ark - 12-02-2013 @NotFound: Son probleme vient du fait que la fonction Threading.Thread() est censé être non bloquante. De ce fait, l'affichage devrait être celui attendu, ce qui n'est pas le cas... Edit: grilled x) RE: Nos beugs - supersnail - 12-02-2013 Ben peut-être parce que l'OS passe la main au nouveau thread directement une fois créé ? (ou alors le thread a été créé juste avant le tick de l'horloge système, et le task scheduler a switch sur le nouveau thread ensuite). Quoi qu'il en soit, ce comportement dépend du système d'exploitation, des flags passés à l'OS pour la création du thread (si celui-ci est créé en "suspended" puis resumed, etc...), et la sortie de ton prog est assez aléatoire imo. RE: Nos beugs - notfound - 12-02-2013 Tu veux un résultat attendu, je te le sors. Je cite quelqu'un sur IRC : " +Khaled | osef de la façon de faire nan ? " J'attends mon point x) RE: Nos beugs - InstinctHack - 12-02-2013 supersnail, perso le code réagi toujours de la meme manière notfound, si t'arrive à faire marcher mon code en ne changeant pas de place les lignes, sans en retirer, sans en ajouter, là je te le donne (tu est donc autorisé uniquement à ajouter, supprimer et modifier des caractères tant que la ligne ne devient pas vide) RE: Nos beugs - supersnail - 12-02-2013 J'ai trouvé, il faut faire Code PYTHON :
threading.Thread(None, enfant, None, (), {}).start()#fonction non bloquante au lieu de Code PYTHON :
threading.Thread(None, enfant(), None, (), {}).start()#fonction non bloquante En effet, "enfant()" appelle la fonction en-dehors du thread, et par conséquent bloque l'appel à la fonction :') * supersnail se flagelle pour pas l'avoir vu avant. Can I haz my cheezburger ? :þ RE: Nos beugs - gruik - 12-02-2013 (12-02-2013, 14h31)supersnail a écrit : Ben peut-être parce que l'OS passe la main au nouveau thread directement une fois créé ? (ou alors le thread a été créé juste avant le tick de l'horloge système, et le task scheduler a switch sur le nouveau thread ensuite). pour la petite info le noyau Linux n'est pas déterministe à ce niveau, on a aucune garantie que le père resume avant le fils ou l'inverse (12-02-2013, 14h31)supersnail a écrit : la sortie de ton prog est assez aléatoire imo. toutafaite RE: Nos beugs - InstinctHack - 12-02-2013 Euh... Je suis d'accord avec vous, mais dans le cas présent, le père peut envoyer mon message tout de suite après le lancement du thread, alors que l'enfant (ou le thread) doit attendre 3 longues secondes avant de le faire. Autant dire qu'il y a de la marge RE: Nos beugs - gruik - 12-02-2013 ouai comme dit c'etait juste pour la précision, pour pouvoir sleep(3) le fils a besoin d'etre resume par le noyau de toutes façons donc la question restait entière sinon pour le premier pb c'est marqué en toutes lettres non ? Code PYTHON :
"0x85" c'est le "à" dans "(...) d'amour à celui (...)" du coup : Code PYTHON :
RE: Nos beugs - InstinctHack - 12-02-2013 nan, c'est pas ce problème la, remplace description par Code PYTHON :
RE: Nos beugs - gruik - 12-02-2013 Code PYTHON :
hum... pas de souci chez moi RE: Nos beugs - InstinctHack - 12-02-2013 justement, c'est ça qui est étrange! Le code est fonctionnel ! Pourtant chez moi, il ne marche pas... J'ai le même interpréteur, j'ai le même contenu de fichier, quel sont les variables qui difère et pourrais rentrer en ligne de compte ?? le problème était que mon fichier python s'appelait "json.py" essayez vous verrez :p RE: Nos beugs - supersnail - 12-02-2013 Ben forcément, ça conflict avec le module "json" ... :') Mais ça on peut pas le deviner le nom que tu donnes aux fichiers |