Les Threads

Sujets variés concernant le développement en PureBasic
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Les Threads

Message 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!
:)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

le programme ne fait que ça ou doit faire autre chose en même temps ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Invité

Message 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
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

d'après Fred, les gosub (même pour tartempion :P ) sont à banir, utiliser des procedures
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

...les gosub (même pour tartempion ) sont à banir...
Surtout pour Tartempion !

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

Chris :)
ZapMan
Messages : 393
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Message 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.
Tout obstacle est un point d'appui potentiel.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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!
Invité

Message 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

:)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

il disait que ça mélange les piles ou quelquechose comme ça je crois, moi je ne fais que le croire.....
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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
Fred
Site Admin
Messages : 2651
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

JSR (Jump to SubRoutine) = CALL en x86 :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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: )
Répondre