PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → Thread  en boucle ou TimerSys ??
Thread en boucle ou TimerSys ??
Iniciado por Romain D., 26,mar. 2004 17:19 - 1 respuesta
Publicado el 26,marzo 2004 - 17:19
bonjour, j'ai une application qui tourne et qui doit scruter l'état d'une
carte à l'aide de sa DLL.
Je souhaiterais savoir laquelle de ces méthodes est la plus économique pour
le processeur et la RAM :

Un timersys lancé assez régulièrement.
Ou un thread secondaire qui tourne en boucle.


Mon appli possède déja des timersys : pour rafraichir l'affichage, et des
thread : pour lancer des fonctions en parallèle de mon appli.
Publicado el 29,marzo 2004 - 15:45
"Romain D." <dallet.lelas@wanadoo.fr> wrote:


bonjour, j'ai une application qui tourne et qui doit scruter l'état d'une
carte à l'aide de sa DLL.
Je souhaiterais savoir laquelle de ces méthodes est la plus économique pour
le processeur et la RAM :

Un timersys lancé assez régulièrement.
Ou un thread secondaire qui tourne en boucle.


Mon appli possède déja des timersys : pour rafraichir l'affichage, et des
thread : pour lancer des fonctions en parallèle de mon appli.

Voici un message trouvé sur le net :

//--------------------------------
Salut,

Michoue(StarMich) <starmich@club-internet.fr> wrote in message
news:7tl8ti$89s$1@front4m.grolier.fr...
Yo...

Dois-je mettre un thread ou bien un timer afin de verifier la connection

du
PC au Net sans arrêt...?????????????????????

Explication:
avec le Timer (intervalle00ms), lorsque je demarre par ex. un jeu ca
lague beaucoup... donc je voudrais savoir comment faire pour qu'il puisse
verifier la connection au NET sans faire laguer le PC... (par ex comme
NDetect d'ICQ...)


J'imagine que tu utilise un timer simple basé sur l'envoi périodique d'un
message (WM_TIMER). Ce dernier a une résolution de 55 ms et de plus est très
sensible aux actions utilisateurs (déplacement fenêtre) etc... Bref tu
l'auras compris ce n'est pas l'idéal si tu veux un timer vraiment fiable.

Les thread sont bien mais celà suppose d'implémenter une horlogerie à
l'interieur (soit sous forme de sleep() ou de scrutation via l'horloge),
donc assez lourd à mettre en oeuvre.

La solution consisterait plutôt à utiliser un timer multimédia
(timeSetEvent() ) qui a le bon gout d'être un timer de résolution plus fine
(1ms) et qui en fait se lance comme un thread séparée, donc indépendance
des
files de messages. De plus vu qu'il s'agit d'un thread, on peu très bien
modifier sa priorité si besoin...



merci a tous...

P.S: ou est-ce que je peux trouver de la doc pour les threads... car je

ne
> comprends rien avec la doc en anglais de VC++....?????????????

Un excellent bouquin (à mon avis) sur la programmation avancée (dont
multithread): "Programmer sous Windows95 & Windows NT4" de Jeffrey Richter
aux éditions MicrosoftPress. Tu y trouveras tout ce qu'il faut savoir sur
la
manipulation des process, des threads, des timers etc etc (en plus de
boucoup d'autres choses). Un CD accompagne l'ouvrage avec le code des
exemples. Ah j'oubliais, il est en français ;)

Amicalement,

--
//--------------------------------


PYT