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. |