Threads

Soyez le premier à donner votre avis sur cette source.

Vue 6 184 fois - Téléchargée 749 fois

Description

Utilisation des threads via l'API. Je mets ce code parce que j'avais remarqué que les autres sources traitant du sujet ne fonctionnaient pas. LA SOURCE DOIT ËTRE COMPILEE EN P-CODE ! Ce code n'est pas de moi.

Source / Exemple :


ziiiiiiiiiiiiiiiiip

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_epoc
Messages postés
87
Date d'inscription
mardi 28 mai 2002
Statut
Membre
Dernière intervention
25 octobre 2006
-
wep en effet, l'exemple n'en est pas vraiment un, je v essayer d'en préparer un un peu plus parlant.
Proger
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008
-
Afyn > oui et non....

Il existe une api qui prélève une valeur de temps. En prélèvant le temps à un autre moment, par calcul on obtient la durée qui s'est écoulé entre les deux.
GetTickCount prélève des millisecondes, soit 1000 par seconde
QueryPerformanceCounter renvoi un "truc, et QueryPerformanceFrequency indique le nombre de "truc" qui s'écoule pendant 1 secondes (chez moi j'en ai 3579545 par seconde) donc par calcul on peut en déduire le temps.
Sous vb, en appelant 2 fois de suite cet api j'obtient 1,03 µs écoulé entre les deux. Bref la microseconde est possible, mais rien que l'appel à une fonction dure déjà une microseconde. Ainsi, en codant un équivalent de sleep avec QueryTruc, on peut espérer une résolution de 10 microsecondes...

J'enverrai une source demain ça sera mieux qu'en commentaire
couriousous
Messages postés
68
Date d'inscription
lundi 21 mai 2001
Statut
Membre
Dernière intervention
4 janvier 2003
-
ouai... les thread evc VB6 c bien beau mais dès que tu utilise un objet ( tel que winsock ) ca plante total!!! la seule solution c'est d'utiliser les API.... snif
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
La fonction sleep est en milliseconde, y a t'il une fonction équivalente en microseconde ?

A+
AFYN
NAVEDAC
Proger
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008
-
Copie le code source à la place d'écrire "ziiiiiiiiip" car vu la longueur de la source ce n'est pas utile de bourrer son dossier temp !

Cette source est excellente car elle montre :
- la création d'un thread secondaire
- le passage de paramètres à un thread secondaire
- l'utilisation de waitforsingleobjet pour "synchronisé" l'application avec le déroulement d'un thread
par contre l'exemple est un peu bidon... 9/10

Thread ? pour faire simple : c'est un pointeur d'exécution (la ligne jaune quand tu fais ctrl+pause et F8 pour la faire avançé, c'est une sorte de pointeur d'exécution).
Crée un second thread et tu auras 2 pointeurs d'exécution, ce qui permet de faire des choses en même temps.
En VB on utilise doevents pour reprendre la main sur la form si on lance un gros traitement. Si tu lance le gros traitement dans un thread secondaire, plus besoin de doevents!

P-Code : ça ne compile pas le vb intégralement en langage asm (ni le code natif d'ailleur), et laisse les dll s'occuper de l'interprétation du "pseudo-code" ainsi créé.
Qui dit interpretation dit temps, donc le p-code est moins rapide que le code natif.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.