AfxBeginThread
Appelez cette fonction pour créer un nouveau thread.
CWinThread* AfxBeginThread(
AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);
CWinThread* AfxBeginThread(
CRuntimeClass* pThreadClass,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);
Paramètres
pfnThreadProc
Pointe vers l'opération de service pour le thread de travail.Ne peut pas être null.Cette fonction doit être déclarée comme suit :UINT __cdecl MyControllingFunction( LPVOID pParam );
pThreadClass
RUNTIME_CLASS d'un objet dérivé d' CWinThread.pParam
Paramètre à passer à la fonction de contrôle comme indiqué dans le paramètre à la déclaration de fonction dans pfnThreadProc.nPriority
La priorité souhaitée du thread.Pour une liste complète et une description des priorités disponibles, consultez l' SetThreadPriority dans Kit de développement logiciel Windows.nStackSize
Spécifie la taille en octets de la pile pour le nouveau thread.Si 0, les valeurs par défaut de taille de la pile à la pile de même taille qu'un thread sa création.dwCreateFlags
Spécifie une balise supplémentaire qui contrôle la création du thread.Cette balise peut contenir une de deux valeurs :Début deCREATE_SUSPENDED le thread avec un compteur de suspension d'un.Utilisation CREATE_SUSPENDED si vous souhaitez initialiser toutes les données membres de l'objet d' CWinThread, telles que m_bAutoDelete ou tous les membres de votre classe dérivée, avant que le thread commence à exécuter.Une fois que l'initialisation est terminée, utilisez CWinThread::ResumeThread pour démarrer l'exécution de thread.Le thread ne s'exécutera pas jusqu'à ce qu' CWinThread::ResumeThread soit appelé.
Début de0 le thread immédiatement après la création.
lpSecurityAttrs
Pointe vers une structure d' SECURITY_ATTRIBUTES qui spécifie les attributs de sécurité du thread.Si null, les mêmes attributs de sécurité que le thread de création est utilisé.Pour plus d'informations sur cette structure, consultez Kit de développement logiciel Windows.
Valeur de retour
Pointeur vers l'objet thread de création récente, ou null si une erreur se produit.
Notes
La première forme d' AfxBeginThread crée un thread de travail.La deuxième formulaire crée un thread qui peut servir comme thread d'interface utilisateur ou de threads de travail.
AfxBeginThread crée un nouvel objet d' CWinThread, appelle la fonction d' CreateThread pour commencer à exécuter le thread, et retourne un pointeur vers le thread.Des vérifications sont effectuées tout au long de la procédure pour s'assurer que tous les objets sont libérés correctement au cas où une partie de la création échouerait.Pour terminer le thread, appelez AfxEndThread du thread, ou retournez la valeur de la fonction de contrôle du thread de travail.
La fonction multithread doit être activé par l'application ; sinon, cette fonction échoue.Pour plus d'informations sur activer la fonction multithread, reportez-vous à /MD, /MT, /LD (Utiliser la bibliothèque Runtime) sous des options du compilateur Visual C++.
Pour plus d'informations sur AfxBeginThread, consultez les articles Fonction multithread : Création de threads de travail et Fonction multithread : Créer des threads d'interface utilisateur.
Exemple
Consultez l'exemple pour CSocket::Attach.
Configuration requise
En-tête : afxwin.h