Click here to Skip to main content
15,886,258 members
Articles / Programming Languages / Visual Basic

Generic Wrapper for Easy Multithreaded Programming

Rate me:
Please Sign up or sign in to vote.
4.94/5 (34 votes)
2 Jun 2014CPOL14 min read 75.2K   710   126  
Event-based, generic wrapper and manager to implement multithreading in your applications
<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>MultiThreadBase</name>
    <version>1.0.3372.26424</version>
    <fullname>MultiThreadBase, Version=1.0.3372.26424, Culture=neutral, PublicKeyToken=e279ce048df015ae</fullname>
  </assembly>
  <members>
    <member name="T:MultiThreadBase.AsyncParentBase">
      <summary>
 Classe abstraite AsyncParentBase facilitant l'exécution d'un traitement en asynchrone (sur un thread différent 
 de l'interface) 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.#ctor(System.String,MultiThreadBase.AsyncTravailleurBase,System.Windows.Forms.Form)">
      <summary>
 Constructeur recevant les paramètres nécessaires à la gestion du traitement asynchrone 
 </summary>
 <param name="pIdentifiant">Identifiant du travail</param>
 <param name="pTravailleur">L'instance de la classe dérivée de AsyncTravailleurBase utilisée pour le traitement</param>
 <param name="pFenetreProprio">L'instance de la fenêtre propriétaire du traitement</param>
 <remarks /></member>
    <member name="P:MultiThreadBase.AsyncParentBase.Identifiant">
      <summary>
 Sert à identifier le travail asynchrone 
 </summary>
 <value>aIdentifiant (Boolean)</value>
 <returns>Identifiant du travail</returns>
 <remarks /></member>
    <member name="P:MultiThreadBase.AsyncParentBase.FenetreProprio">
      <summary>
 Permet de référencer la fenêtre propriétaire du traitement - nécessaire pour les appels de délégués à exécuter sur le thread de la fenêtre 
 </summary>
 <value>aFenetreProprio (Form)</value>
 <returns>La fenêtre parent propriétaire du traitement</returns>
 <remarks /></member>
    <member name="P:MultiThreadBase.AsyncParentBase.EstTravailEnCours">
      <summary>
 	Permet de d'indiquer si le travail asynchrone est en cours de traitement 
 </summary>
 
 <value>
 	True si le travail est en cours, sinon False 
 </value>
 <remarks><pre>
 </pre></remarks></member>
    <member name="M:MultiThreadBase.AsyncParentBase.SignalerFinTravail(System.Object)">
      <summary>
 Méthode devant être réalisée dans la classe dérivée qui sera appellée sur le thread de la fenêtre lorsque 
 le travail sera terminé 
 </summary>
 <param name="pFinTravail">Paramètres à passer à la méthode</param>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.SignalerProgressionTravail(System.Object)">
      <summary>
 Méthode devant être réalisée dans la classe dérivée qui sera appellée sur le thread de la fenêtre lorsqu'il 
 y a une mise à jour de l'état d'avancement 
 </summary>
 <param name="pProgressionTravail">Paramètres à passer à la méthode</param>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.SignalerExceptionTravail(System.Exception)">
      <summary>
 Méthode devant être réalisée dans la classe dérivée qui sera appellée sur le thread de la fenêtre 
 lorsqu'une exception survient sur le thread du travail 
 </summary>
 <param name="pExceptionTravail">Exception</param>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.SignalerFinTravailInterne(System.Object)">
      <summary>
     Méthode appellée par le travailleur pour signaler la fin du travail 
 </summary>
 
 <param name="parametres" type="System.Object">
 	Paramètres à retourner à la classe dérivée, contenant un possible résultat du travail exécuté 
 </param>
 <exception cref="System.ApplicationException">
 	Thrown when... 
 </exception>
 <remarks><pre>
 </pre></remarks></member>
    <member name="M:MultiThreadBase.AsyncParentBase.SignalerProgressionTravailInterne(System.Object)">
      <summary>
     Méthode appellée par le travailleur pour signaler la progression du travail 
 </summary>
 
 <param name="parametres" type="System.Object">
 	Paramètres à retourner à la classe dérivée, contenant un possible état d'avancement du travail exécuté 
 </param>
 <exception cref="System.ApplicationException">
 	Thrown when... 
 </exception>
 <remarks><pre>
 </pre></remarks></member>
    <member name="M:MultiThreadBase.AsyncParentBase.DemarrerTravailAsynchrone">
      <summary>
 Méthode appellée par la fenêtre propriétaire pour démarrer le traitement en asynchrone 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.ArreterTravailAsynchrone">
      <summary>
 Méthode appellée par la fenêtre propriétaire pour arrêter le traitement asynchrone 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.ArreterTravailAsynchroneEtAttendre">
      <summary>
 Méthode appellée par la fenêtre propriétaire pour arrêter le traitement asynchrone et attendre l'arrêt de 
 celui-ci 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncParentBase.AttendreTravailAsynchrone">
      <summary>
 Méthode appellée par la fenêtre propriétaire pour attendre la fin du traitement asynchrone 
 </summary>
 <remarks /></member>
    <member name="T:MultiThreadBase.AsyncTravailleurBase">
      <summary>
 Classe abstraite AsyncTravailleurBase facilitant l'exécution d'un traitement en asynchrone (sur un thread 
 différent de l'interface) 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncTravailleurBase.#ctor(System.Object)">
      <summary>
 Constructeur recevant les paramètres à passer au travail lui-même 
 </summary>
 <param name="parametres">Paramètres à passer au travail</param>
 <remarks /></member>
    <member name="P:MultiThreadBase.AsyncTravailleurBase.AsyncParent">
      <summary>
 Permet à la classe parent de se passer en référence pour donner accès à ses propriétés/méthodes au 
 WorkerBase 
 </summary>
 <value>aAsyncParent (AsyncParentBase)</value>
 <returns>La référence vers la classe parent</returns>
 <remarks /></member>
    <member name="P:MultiThreadBase.AsyncTravailleurBase.ArretTravailDemande">
      <summary>
 Permet à la classe dérivée de vérifier si un arrêt du traitement a été demandé 
 </summary>
 <value>aArretTravailDemande (Boolean)</value>
 <returns>Indicateur de fin de travail demandé</returns>
 <remarks /></member>
    <member name="P:MultiThreadBase.AsyncTravailleurBase.Parametres">
      <summary>
 Permet à la classe dérivée d'avoir accès aux paramètres qui lui ont été passés à la création 
 </summary>
 <value>aParametres (Object)</value>
 <returns>L'objet paramètres passé à la construction de la classe</returns>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncTravailleurBase.FaireTravailAsync">
      <summary>
 Méthode de la classe dérivée devant contenir le traitement à effectuer 
 </summary>
 <returns>Résultat (Object) du traitement de la classe dérivée</returns>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncTravailleurBase.ArreterTravailAsynchrone">
      <summary>
 Méthode appellée par la classe parent lorsqu'on veut arrêter le traitement 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncTravailleurBase.DemarrerTravailAsynchrone">
      <summary>
 Méthode appellée par la classe parent pour lancer le travail 
 </summary>
 <remarks /></member>
    <member name="M:MultiThreadBase.AsyncTravailleurBase.SignalerProgressionTravail(System.Object)">
      <summary>
 Méthode appellée par la classe dérivée pour signaler une mise à jour dans le traitement 
 </summary>
 <param name="parametres">Objet passé en paramètre par la classe dérivée</param>
 <remarks /></member>
  </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Services Informatiques GLR Inc.
Canada Canada
I'm an independant software architect working as consultant for various companies in the region of Quebec City, Canada.

I have close to 20 years of experience in development of applications and systems of various scales, in many different lines of business.

Since 2003, I have exclusively worked in .NET projects, switching roles from senior designer to lead designer and software architect. I have also contributed to the development of the Web Service Software Factory (WSSF) from Microsoft's Patterns and Practices team, as adviser.

Comments and Discussions