Accueil > > > APPLI MULTITHREAD SYNCRONISÉE ET COMMENTAIRES XML
APPLI MULTITHREAD SYNCRONISÉE ET COMMENTAIRES XML
Information sur la source
Description
Voici un petit code pour expliquer comment créer une documentation XML dans vos applications VB.Net et comment créer une application multithread avec syncronisation de l'accès aux données. Ca a été réalisé avec VB Express et ca marche sans problème. Donc vous n'avez qu'à créer une application console et insérer le bout de code suivant dans un "module".
Source
- Public MonObjet As Classe1
-
- Public Mut As New System.Threading.Mutex 'Objet permettant la syncronisation d'accès aux données
- 'Un Mutex est un objet disposant de plusieurs états. Un appel à WaitOne permet d'attendre que le Mutex
- 'soit libéré par un autre thread. Ensuite on fait un appel à ReleaseMutex pour libérer le Mutex et ainsi
- 'permettre à un autre Thread d'acceder aux données.
-
- <MTAThread()> Sub Main()
- 'variable qui nous servira juste a calculer le temps écoulé en millisecondes
- Dim TickDebut As Int64 = System.Environment.TickCount
- MonObjet = New Classe1(False)
-
- 'Th est l'objet qui représentera le nouveau thread, on lui passe comme argument la procédure qui
- 'devra être executée dans ce thread
- Dim Th As New Threading.Thread(AddressOf MonObjet.Launch)
- 'La méthode Start d'un objet thread lance la procédure passée en argument lors de l'initialisation
- 'Ici Th.Start lance la procédure MonObjet.Launch
- Th.Start()
- Do
- Mut.WaitOne()
- Console.WriteLine(MonObjet.NombreEntier)
- Mut.ReleaseMutex()
- Loop While MonObjet.NombreEntier < 100000
- MonObjet.BRun = True
- Console.WriteLine("Le programme a mis exactement : " & (System.Environment.TickCount - TickDebut) & " millisecondes")
- Console.WriteLine("Appuyez sur 'Entrée' pour quitter !")
- Console.ReadLine()
- End Sub
-
- #Region "Exemple de 'region', fermez moi et deployez moi"
- ''' <summary>
- ''' Exemple de commentaires XML
- ''' </summary>
- ''' <remarks></remarks>
- Public Class Classe1
- ''' <summary>
- ''' Exemple de commentaire de membre, ici il s'agit d'un nombre qui sera incrémenté et affiché dans 2 processus différents
- ''' </summary>
- ''' <remarks></remarks>
- Public NombreEntier As Int64 = 1
- Public BRun As Boolean = False
-
- ''' <summary>
- ''' </summary>
- ''' <param name="Param1">Commentaire de paramètres (paramètre qui ne sert à rien)</param>
- ''' <remarks></remarks>
- Public Sub New(ByVal Param1 As Boolean)
- End Sub
-
- ''' <summary>
- ''' Exemple de commentaire de procedure
- ''' Cette procedure effectue une boucle tant que BRun est Faux, mais elle vérifie avant chaque accès au membre
- ''' NombreEntier qu'aucun autre processus n'y accède
- ''' </summary>
- ''' <remarks></remarks>
- Public Sub Launch()
- Do
- Mut.WaitOne()
- Me.NombreEntier += 1
- Mut.ReleaseMutex()
- Loop While Me.BRun = False
- End Sub
- End Class
- #End Region
Public MonObjet As Classe1
Public Mut As New System.Threading.Mutex 'Objet permettant la syncronisation d'accès aux données
'Un Mutex est un objet disposant de plusieurs états. Un appel à WaitOne permet d'attendre que le Mutex
'soit libéré par un autre thread. Ensuite on fait un appel à ReleaseMutex pour libérer le Mutex et ainsi
'permettre à un autre Thread d'acceder aux données.
<MTAThread()> Sub Main()
'variable qui nous servira juste a calculer le temps écoulé en millisecondes
Dim TickDebut As Int64 = System.Environment.TickCount
MonObjet = New Classe1(False)
'Th est l'objet qui représentera le nouveau thread, on lui passe comme argument la procédure qui
'devra être executée dans ce thread
Dim Th As New Threading.Thread(AddressOf MonObjet.Launch)
'La méthode Start d'un objet thread lance la procédure passée en argument lors de l'initialisation
'Ici Th.Start lance la procédure MonObjet.Launch
Th.Start()
Do
Mut.WaitOne()
Console.WriteLine(MonObjet.NombreEntier)
Mut.ReleaseMutex()
Loop While MonObjet.NombreEntier < 100000
MonObjet.BRun = True
Console.WriteLine("Le programme a mis exactement : " & (System.Environment.TickCount - TickDebut) & " millisecondes")
Console.WriteLine("Appuyez sur 'Entrée' pour quitter !")
Console.ReadLine()
End Sub
#Region "Exemple de 'region', fermez moi et deployez moi"
''' <summary>
''' Exemple de commentaires XML
''' </summary>
''' <remarks></remarks>
Public Class Classe1
''' <summary>
''' Exemple de commentaire de membre, ici il s'agit d'un nombre qui sera incrémenté et affiché dans 2 processus différents
''' </summary>
''' <remarks></remarks>
Public NombreEntier As Int64 = 1
Public BRun As Boolean = False
''' <summary>
''' </summary>
''' <param name="Param1">Commentaire de paramètres (paramètre qui ne sert à rien)</param>
''' <remarks></remarks>
Public Sub New(ByVal Param1 As Boolean)
End Sub
''' <summary>
''' Exemple de commentaire de procedure
''' Cette procedure effectue une boucle tant que BRun est Faux, mais elle vérifie avant chaque accès au membre
''' NombreEntier qu'aucun autre processus n'y accède
''' </summary>
''' <remarks></remarks>
Public Sub Launch()
Do
Mut.WaitOne()
Me.NombreEntier += 1
Mut.ReleaseMutex()
Loop While Me.BRun = False
End Sub
End Class
#End Region
Conclusion
Donc ce code est fait pr etre modifié, pour voir les commentaires XML, amusez vous à modifier les lignes suivantes :
Un paramètre du constructeur est commenté, modifiez le paramètre de la ligne C = New Class1(False)
Ensuite, les membres de la classe 'Class1' sont décrits, donc faites apparaitre la liste des membre de C dans ces 2 lignes. Dim Th As New Threading.Thread(AddressOf C.Start) Console.WriteLine(C.V)
Enfin vous verrez peut etre un - ou un + a coté de cette ligne : #Region "Exemple de 'region', fermez moi et deployez moi" Cliquez sur le carré pour fermer et deployer le code
ATTENTION : Il existe d'autres balises XML utilisable dans VB, a vous de voir dans l'aide comment tout ca fonctionne
Historique
- 24 avril 2006 14:23:18 :
- Voilà j'ai modifié le code suite aux commentaires pour qu'il soit plus facilement lisible (des noms plus explicites meme si c'est peut etre pas encore parfait) et avec des commentaires j'espere un poil plus utiles...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Inserer un commentaire dans un fichier XML [ par zoglub14 ]
Bonjour à toutes & tous,Je cherche à inserer un commentaire dans un fichier XML que je crée mais je n'y arrive pas !Voila le fichier XML :<a class
Xml et Base de donnees [ par yvesyves ]
Bonjour,Je cherche quelques informations pour ne pas faire un projet inutile.Un fichier Xml qui contient des membres, des mots de passe, et d'autres i
Manipulation du code Xml [ par dclaise ]
Bonjour à tous,je travaille pour l'instant en Vb6 et je manipule les web services. Ce web service me retourne du Code XML. J'aimerais bien le manipu
XML en VBA - Au secours [ par manu00 ]
Bonjour les amis,J'ai un très gros soucis, et j'ai absoluement besoin de vous. Je dois faire pour demain matin un petit programme en VBA.Mais dans ce
XML vers Access [ par bmhbmh ]
voilà je voudrai savoir comment importer les données d'un file Xml vers access.j'ai trouvé des sources qui font l'inverse mais dans ce sens là y en a
recherche dans un fichier xml en vb.net [ par diego29 ]
je souhaite faire une fonction qui fait une recherche dans un fichier xml d'un ou deux objets suivant un critère. le problème est le suivant : la fonc
Lecture fichier XML en VB6 [ par Amstelsoft ]
Bonjour,Pour les besoins d'une applicaiton écrite en VB6, je suis à la recherche d'un OCX ou d'un code qui permet de lire un fichier XML afin d'en ext
XML ajoute de fils a un parents [ par comtention ]
Bonjour, Je n'arrive pas ajouter des balises fils a une balise parent en xml avec DomJ'ai -------------------------------------------<contacts>
xml et combobox [ par trexor ]
Bonjour tout le monde, je suis a la recherche d'un lien ou d'un exemple de code simple pour afficher les données d'un fichier xml dans un combobox (et
VBA - XML - INTERROGATION BD [ par orobinvd ]
Bonjour, Je suis en access 97 et j'ai un gros soucis. Je dois interroger une base de données externe en XML avec Access97. Comment dois-je porceder?
|
Derniers Blogs
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|