Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 2007
-
22 avril 2006 à 19:04
blq
Messages postés97Date d'inscriptionvendredi 22 octobre 1999StatutMembreDernière intervention13 juin 2016
-
17 sept. 2011 à 23:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
blq
Messages postés97Date d'inscriptionvendredi 22 octobre 1999StatutMembreDernière intervention13 juin 20161 17 sept. 2011 à 23:38
Intéressant ce code et la discussion autour du Thread, par contre depuis 2006, le Tuto ne semble pas avoir abouti par une présence sur le site... Dommage !
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 16 mai 2006 à 17:10
D'accord :) tout ca c'est bon à savoir ^^ :)
vivement le tuto alors
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 15 mai 2006 à 19:11
Bon alors voila, apres des tonnes de recherche sur le mutex, il s'avere que en fait c'est un outil qui permet d'eviter que 2 thread accede a al meme ressource en meme temps d'un des threads.
d'ou l'utilisation de tickets.
j'ai donc regardé ton code sour visual studio, il a deja indiqué ce qui est vrai que sachant que
Mut.WaitOne()
Me.NombreEntier += 1
Mut.ReleaseMutex()
est dans une classe, le Mut n'est plus reconnu (et il le surligne en bleu).
donc je l'ai viré et lancé, j'obtient 91ms.
quand je vire tout les mutex je merde pas et obtient 31ms.
donc voila, le mutex dans ton cas ne sert apparament a rien.
je me suis renseigné et vu que le mutex ne sert en fait qu'a proteger si un thread accede a une donnée qui necessite .close comme un stream par exemple ou des traitement asynchrone comme un ping asynchrone (alors que dans mon tuto je montre l'exemple d'un ping sur un thread different qui est largement mieux, le multithread est 10x mieux que les demandes asynchrone).
voilou, donc avec ces infos, sachant que je fais un tuto pour debuter et approfondir legerement et surtout faire un code propre, je ne mettrait pas dans un premier temps le mutex.
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 12 mai 2006 à 09:55
Bon le dossier a été rendu ajourd'hui (mais kel merde !), ce week end je pense finir le tuto ^^ (hourra)
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 5 mai 2006 à 09:42
lol bon courrage pour le tuto et ta soutenance alors :)
et merci pour la citation :)
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 5 mai 2006 à 00:20
trop bien l'exemple du ticket, allez zou je vais essayer de le mettre dans le tuto ^^ (en te citant ne t'inkiete pas.
sinon y'as quelque contre temps du fait que l'ecole demande un %£$/!# de dossier de soutenance sur un portail a la con (theme STI elec de cette année dans l'academie normande)...
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 4 mai 2006 à 10:32
Voilà c'est ça. Le mutex est un petit objet qui fonctionne un peu comme les tickets que tu prends dans un hopital
pour passer à la caisse. Quand tu arrives aux caisses, tu prends un ticket (appel à waitone). Ensuite tu attends
que ton numéro sorte pour aller au guichet (que le mutex soit libre pour l'occuper). Une fois que tu as fini, tu
parts de la caisse, laissant la place libre à la personne d'après (release mutex).
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 3 mai 2006 à 20:53
Bon j'ai compris (du moins je pense) que le mutex sert a savoir si un controle est libre d'acces et le donne au thread qui fait appel a lui quand il est libre.
donc on fais un waitone et c bloqué juaska que le controle soit libre et le realease le realche pour que le controle soit réutilisable aps un autre.
voila je voudrai que tu comfirme ou infirme ou meme corrige ce que j'ai dit precedemment.
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 3 mai 2006 à 13:44
lol lucy tu veux savoir quoi sur le mutex ?
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 3 mai 2006 à 11:13
t'in t'es rapide toi lol
mutex j connais pas
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 3 mai 2006 à 10:53
ben la je suis au 2/3 du tuto.
apparté, assasin c du papier maché j'ai meme pas essayé et ritualiste j'aime pas aider les autres lol. moi c'est Necro/Ritualiste.
et pour le tuto ben je m'y remet car ca fait 2 jour que j'ai fini le jeux avec l'armure 60K de la fin. (merci les anglais d'etre les seuls a etre bon dans ce jeux a par ma guilde ^^).
et arretez de me parler de ce jeux car c'est pas un forum pour papotter ici de ca, et ca me donne envie de retourner dessus et le tuto avance pas ^^.
au lieu de jouer tu devrais me filer des infos sur le mutex ^^.
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 3 mai 2006 à 07:46
lol
ritualiste ou assassin ? (ou anciens métiers ?)
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 3 mai 2006 à 01:27
voui c en cours.
(mais c jsute ralenti a cause de guild wars faction :p)
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 2 mai 2006 à 17:38
Bonjour,
Encore un code du genre et toujours les mêmes commentateurs lol
LucyBerad tu ne devais pas faire un tuto la dessus ?
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 24 avril 2006 à 16:08
Donc le but final de ce code est juste de montrer comment créer des commentaires qui apparaissent ensuite dans les infos-bulles lors de la saisie...
Ca c'est pour la partie Documentation XML.
Pour ce qui est du Mutex voilà grosso modo comment ca marche :
Quand tu appelles WaitOne, tu as 2 cas possibles :
1/ le mutex est libre, et à ce moment là l'état du mutex est défini sur "occupé"
2/ le mutex est deja sur l'état occupé et à ce moment là le processus qui vient d'appeler WaitOne attend que le mutex soit libéré (en appelant ReleaseMutex) avant de continuer.
Donc quand tu as 2 threads qui risquent d'accéder au même moment aux mêmes données, tu utilise un mutex pour savoir si un processus y accède déjà.
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 24 avril 2006 à 15:30
bon c'est legerement plus clair maintenant.
2 choses sont encore flou: quel est l'utilité de ton code.
et qu'est-ce que Mut.WaitOne() et Mut.ReleaseMutex()
je ne connait pas le mutex mais ca a l'air interessant.
je vais me documenter dessus...
sinon les ''' ne sont que des commentaire, ce sont des commentaire auto-crée par visual dans un fichier designer qui je crois se trouve lors de l'initialisation d'un programme par son designer.
donc oui c'est du xml mais en aucun cas tu en crée car ce sont des comentaires... (d'ou la question, quel est le but de ton code?).
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 24 avril 2006 à 15:23
Pardon, pas les guillemets mais les apostrophes...
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 24 avril 2006 à 14:29
Bon je viens de mettre à jour, j'espere que c'est un peu mieux...
Pour ce qui est du XML, il s'agit de ce qui se trouve apres les triples guillemets (''')... enfin c'est un petit truc que j'ai trouvé par hasard dans MSDN, mais j'ai peut etre mal traduit ?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 23 avril 2006 à 02:04
D'accord avec Lucyberad
Il y a trop de gens qui utilisent des variables du genre
Dim T as Whatever
Dim a as UnAutre
a = T - Y% + X&
et on finit par s'y perdre...
Les commentaires, c'est bien.
Les noms de variables ou de procédures, c'est encore mieux.
Il ne faut pas être avares de lettres. De simples Ctrl_C et Ctrl-V peuvent faciliter le travail pour ceux qui détestent entrer des lettres au clavier
Michel
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 22 avril 2006 à 19:04
ton code est franchement pas clair, il manque aussi bocoup de commentaires...
c'est plutot mal ordonné aussi.
d'ailleurs je n'ai vu aucune syntaxe pour faire du xml (aucune syntaxe .net car le xml est tres facile avec des commandes .net)
et enfin comme c'est un code a but pedagogique et c'est meme recommandé de le faire tout le temps pour une bonne comprehension: mettre des noms de variable et de classe et autres... explicite! car la une seule lettre c'est vraiment a mon avis n'avoir aucune envie de structure.
donc voila je te fais remarquer et j'espere que tu rearangera mieux ton code (qui est peut-etre bien) car la c'est trop dur de comprendre car il manque les bases.
17 sept. 2011 à 23:38
16 mai 2006 à 17:10
vivement le tuto alors
15 mai 2006 à 19:11
d'ou l'utilisation de tickets.
j'ai donc regardé ton code sour visual studio, il a deja indiqué ce qui est vrai que sachant que
Mut.WaitOne()
Me.NombreEntier += 1
Mut.ReleaseMutex()
est dans une classe, le Mut n'est plus reconnu (et il le surligne en bleu).
donc je l'ai viré et lancé, j'obtient 91ms.
quand je vire tout les mutex je merde pas et obtient 31ms.
donc voila, le mutex dans ton cas ne sert apparament a rien.
je me suis renseigné et vu que le mutex ne sert en fait qu'a proteger si un thread accede a une donnée qui necessite .close comme un stream par exemple ou des traitement asynchrone comme un ping asynchrone (alors que dans mon tuto je montre l'exemple d'un ping sur un thread different qui est largement mieux, le multithread est 10x mieux que les demandes asynchrone).
voilou, donc avec ces infos, sachant que je fais un tuto pour debuter et approfondir legerement et surtout faire un code propre, je ne mettrait pas dans un premier temps le mutex.
12 mai 2006 à 09:55
5 mai 2006 à 09:42
et merci pour la citation :)
5 mai 2006 à 00:20
sinon y'as quelque contre temps du fait que l'ecole demande un %£$/!# de dossier de soutenance sur un portail a la con (theme STI elec de cette année dans l'academie normande)...
4 mai 2006 à 10:32
pour passer à la caisse. Quand tu arrives aux caisses, tu prends un ticket (appel à waitone). Ensuite tu attends
que ton numéro sorte pour aller au guichet (que le mutex soit libre pour l'occuper). Une fois que tu as fini, tu
parts de la caisse, laissant la place libre à la personne d'après (release mutex).
3 mai 2006 à 20:53
donc on fais un waitone et c bloqué juaska que le controle soit libre et le realease le realche pour que le controle soit réutilisable aps un autre.
voila je voudrai que tu comfirme ou infirme ou meme corrige ce que j'ai dit precedemment.
3 mai 2006 à 13:44
3 mai 2006 à 11:13
mutex j connais pas
3 mai 2006 à 10:53
apparté, assasin c du papier maché j'ai meme pas essayé et ritualiste j'aime pas aider les autres lol. moi c'est Necro/Ritualiste.
et pour le tuto ben je m'y remet car ca fait 2 jour que j'ai fini le jeux avec l'armure 60K de la fin. (merci les anglais d'etre les seuls a etre bon dans ce jeux a par ma guilde ^^).
et arretez de me parler de ce jeux car c'est pas un forum pour papotter ici de ca, et ca me donne envie de retourner dessus et le tuto avance pas ^^.
au lieu de jouer tu devrais me filer des infos sur le mutex ^^.
3 mai 2006 à 07:46
ritualiste ou assassin ? (ou anciens métiers ?)
3 mai 2006 à 01:27
(mais c jsute ralenti a cause de guild wars faction :p)
2 mai 2006 à 17:38
Encore un code du genre et toujours les mêmes commentateurs lol
LucyBerad tu ne devais pas faire un tuto la dessus ?
24 avril 2006 à 16:08
Ca c'est pour la partie Documentation XML.
Pour ce qui est du Mutex voilà grosso modo comment ca marche :
Quand tu appelles WaitOne, tu as 2 cas possibles :
1/ le mutex est libre, et à ce moment là l'état du mutex est défini sur "occupé"
2/ le mutex est deja sur l'état occupé et à ce moment là le processus qui vient d'appeler WaitOne attend que le mutex soit libéré (en appelant ReleaseMutex) avant de continuer.
Donc quand tu as 2 threads qui risquent d'accéder au même moment aux mêmes données, tu utilise un mutex pour savoir si un processus y accède déjà.
24 avril 2006 à 15:30
2 choses sont encore flou: quel est l'utilité de ton code.
et qu'est-ce que Mut.WaitOne() et Mut.ReleaseMutex()
je ne connait pas le mutex mais ca a l'air interessant.
je vais me documenter dessus...
sinon les ''' ne sont que des commentaire, ce sont des commentaire auto-crée par visual dans un fichier designer qui je crois se trouve lors de l'initialisation d'un programme par son designer.
donc oui c'est du xml mais en aucun cas tu en crée car ce sont des comentaires... (d'ou la question, quel est le but de ton code?).
24 avril 2006 à 15:23
24 avril 2006 à 14:29
Pour ce qui est du XML, il s'agit de ce qui se trouve apres les triples guillemets (''')... enfin c'est un petit truc que j'ai trouvé par hasard dans MSDN, mais j'ai peut etre mal traduit ?
23 avril 2006 à 02:04
Il y a trop de gens qui utilisent des variables du genre
Dim T as Whatever
Dim a as UnAutre
a = T - Y% + X&
et on finit par s'y perdre...
Les commentaires, c'est bien.
Les noms de variables ou de procédures, c'est encore mieux.
Il ne faut pas être avares de lettres. De simples Ctrl_C et Ctrl-V peuvent faciliter le travail pour ceux qui détestent entrer des lettres au clavier
Michel
22 avril 2006 à 19:04
c'est plutot mal ordonné aussi.
d'ailleurs je n'ai vu aucune syntaxe pour faire du xml (aucune syntaxe .net car le xml est tres facile avec des commandes .net)
et enfin comme c'est un code a but pedagogique et c'est meme recommandé de le faire tout le temps pour une bonne comprehension: mettre des noms de variable et de classe et autres... explicite! car la une seule lettre c'est vraiment a mon avis n'avoir aucune envie de structure.
donc voila je te fais remarquer et j'espere que tu rearangera mieux ton code (qui est peut-etre bien) car la c'est trop dur de comprendre car il manque les bases.