CMsgThread, classe

La CMsgThread classe est une classe de thread de travail qui met en file d’attente les demandes au thread de mise en file d’attente pour une exécution asynchrone. Pour utiliser cette classe, dérivez votre classe de celle-ci et substituez la fonction membre CMsgThread :: ThreadMessageProc . La fonction membre ThreadMessageProc effectue chaque requête. Vos fonctions client et la fonction membre ThreadMessageProc doivent partager une définition commune des paramètres dans l’objet CMsg .

Un mécanisme négocié indique au thread de travail de se fermer. En règle générale, il s’agit d’une valeur du code de message uMsg de la classe CMsg .

Il est judicieux d’envoyer ce message à partir du destructeur de votre classe dérivée, et d’appeler la fonction membre CMsgThread :: WaitForThreadExit avant de terminer la destruction de la classe dérivée.

Membres de données protégés Description
m _ hSem Indique un descripteur utilisé pour la signalisation.
_verrou m Protège l’accès aux listes.
m _ lWaiting Indique l’attente d’un thread libre.
m _ ThreadQueue Remplace la fonction membre CMsgThread :: GetThreadMsg et bloque sur d’autres éléments que cette file d’attente.
Fonctions de membre Description
CMsgThread Construit un objet CMsgThread .
CreateThread Crée un thread.
GetThreadHandle Récupère le handle de thread.
GetThreadID Récupère l’identificateur du thread.
GetThreadPriority Récupère la priorité actuelle du thread.
PutThreadMsg Met en file d’attente une demande d’exécution par le thread de travail.
ResumeThread Poursuit l’opération du thread de travail.
SetThreadPriority Affecte une nouvelle valeur à la priorité du thread.
SuspendThread Interrompt l’opération d’un thread en cours d’exécution.
WaitForThreadExit Bloque jusqu’à ce que le thread se termine après un appel à la fonction membre CMsgThread :: SuspendThread .
Fonctions membres substituables Description
GetThreadMsg Récupère un objet CMsg mis en file d’attente contenant une requête.
OnThreadInit Fournit l’initialisation sur un thread.
ThreadMessageProc Traite les demandes. Il s’agit d’une fonction membre virtuelle pure.