Page 1 sur 1

Les Threads

Publié : mer. 07/avr./2004 11:44
par nico
Je pose la question suivante pour les programmeurs avertis:

-Soit un programme qui affiche l'heure dans un status bar toutes les secondes, est-il approprié d'utiliser un thread pour effectuer cette tâche, d'une manière générale si on veut faire ça proprement ?

Quelles sont les règles à respecter?

Merci pour vos réponses pertinentes!
:)

Publié : mer. 07/avr./2004 13:31
par Le Soldat Inconnu
le programme ne fait que ça ou doit faire autre chose en même temps ?

Publié : mer. 07/avr./2004 22:49
par Invité
ben moi pour mon horloge parlante j'avais fait :


******************** squelette shematique exemple *************
WindowID = OpenWindow(1, 0, 0, 10, 10,#PB_Window_Invisible, "horloge_parlante")


repeat
Event = WindowEvent()
gosub tartempion 1
gosub tartempion 2
forever
**********************
tartempion 1:
return

tartempion 2
return



voila le secret du multitache en pure !!!

j'ai fait une horloge parlante qui ne prend pas de charge processeur
sauf lorqu'elle annonce l'heure !!!
moi j'ai jamais eu de probleme de multitache avec le pure !!!
le secret c'est la fenetre invisible !!!


:D

Publié : jeu. 08/avr./2004 19:49
par Oliv
d'après Fred, les gosub (même pour tartempion :P ) sont à banir, utiliser des procedures

Publié : jeu. 08/avr./2004 19:57
par Chris
...les gosub (même pour tartempion ) sont à banir...
Surtout pour Tartempion !

Il est dans tous les coups foireux celui-là ! :lol:

Chris :)

Publié : jeu. 08/avr./2004 21:01
par ZapMan
Essaye de préciser, Nico : qu'entends-tu par "faire ça proprement" ? ou "Est-ce approprié" ?

Les threads ont une vrai raison d'être et permettent de régler des problèmes qui n'ont pas d'autres solutions (ou pas de solutions aussi simples). D'une manière plus générale, programmer avec des threads est à mon avis parfaitement respectable et ne pose pas de problème particulier.

Publié : jeu. 08/avr./2004 21:24
par nico
Je voulais simplement savoir si l'utilisation d'un Thread pour afficher "bêtement" l'heure (ce n'est qu'un exemple) n'était pas abusif.

En fait, je vois les Threads comme le moyen d'exécuter des tâches temporaires où des tâches gourmandes en temps d'éxécution de façon à alléger le programme principale et ne pas le monopoliser pour que l'utilisateur puisse poursuivre l'usage du programme.

L'exemple typique serait de passer à un Thread l'exécution de l'impression d'une page pour que l'utilisateur puisse continuer à éditer.

Bon, apparemment, on en fait ce qu'on veut!

Publié : jeu. 08/avr./2004 23:58
par Invité
Oliv a écrit :d'après Fred, les gosub (même pour tartempion :P ) sont à banir, utiliser des procedures

ben c'est pas mal pour un champion de l'assembleur

apres tout un gosub c'est un JSR qui s'ignore non ! (en 68000) en intel je sais plus ! etant ateind de alzeimer j'ai des soucis de memoire
et comme l'aide de pure je sais plus ou je l'ai mis !! d'ailleurs
je cherche mon pc depuis hier

et return un RTS

:)

Publié : ven. 09/avr./2004 6:35
par Oliv
il disait que ça mélange les piles ou quelquechose comme ça je crois, moi je ne fais que le croire.....

Publié : ven. 09/avr./2004 8:25
par Anonyme2
apres tout un gosub c'est un JSR qui s'ignore non ! (en 68000) en intel je sais plus !

un JMP comme jump

Publié : ven. 09/avr./2004 10:07
par Fred
JSR (Jump to SubRoutine) = CALL en x86 :)

Publié : ven. 09/avr./2004 10:41
par Anonyme2
Tu as raison Fred,

j'ai pourtant bien interprêté le sens de Jsr (Jump to SubRoutine) qui comme tu le dit c'est un call avec un ret pour le retour et non pas la connerie que j'ai écrite (je me demande d'ailleurs pourquoi j'ai mis jmp :oops: ) mais bon, je ne suis plus à une connerie de plus :0: )