Accueil > Forum > > > > VC++ - Thread
VC++ - Thread
mercredi 10 décembre 2003 à 21:28:06 |
VC++ - Thread

azerothkeeper
|
J aimerai enfin comprendre comment marchent les trheads, si vous pouviez postez une bel exemple tt simple mais explicite et qui compile sous vc++.net ca serait bien sympa :)
|
|
mercredi 10 décembre 2003 à 21:36:12 |
Re : VC++ - Thread

aardman
|
Salut, Exemple de Kaid: http://www.cppfrance.com/code.aspx?ID=9369
|
|
vendredi 12 décembre 2003 à 00:25:23 |
Re : VC++ - Thread

vObjects
|
Encore plus simple;
#include <iostream.h> #include <process.h> #include <windows.h>
void TonThread(void*);
int main() {
HANDLE hThread = 0;
hThread = (HANDLE)_beginthread(TonThread, 0, (void*)12345);
if (hThread != 1 ){ WaitForSingleObject(hThread); CloseHandle(hThread); }
return 0;
}
void TonThread(void* arg) {
cout << "valeur envoyé: " << (long)arg << endl;
_endthread(); // pas obligatoire
}
Ce n'est qu'un exemple parmis tant d'autre ... ;)
*%*%*%*%*%*%*% % * vObjects % *%*%*%*%*%*%*%
|
|
vendredi 12 décembre 2003 à 10:23:02 |
Re : VC++ - Thread
|
mercredi 18 février 2004 à 15:47:58 |
Re : VC++ - Thread

dambeaufort
|
pouvez vous m'expliquer pourquoi le code ce idessous ne marche aps chez moi? Je fais juste un copier coller mais il reste des erreurs. Je suis nul mais j'ai besoin de thread!!!!!!!!!!!!!!!!
|
|
mercredi 18 février 2004 à 18:00:00 |
Re : VC++ - Thread

NitRic
|
Voilà un petit exemple très simple ...
#include <windows.h> #include <stdio.h>
// prototype de notre thread DWORD WINAPI dwThreadProc(LPVOID lParam);
// entrer du programme int main() {
DWORD dwThread = 0; // id de notre thread
// handle de notre thread HANDLE hThread = 0; // cré notre thread en le mettant en suspend(pause) hThread = CreateThread(NULL, 0, dwThreadProc, 0, CREATE_SUSPENDED, &dwThread);
// si erreur lors de la création de notre thread if ( hThread == NULL ) {
printf("erreur lors de la création du thread\n");
// GetLastError() te donne le code d'erreur si tu veux le récupérer
} else { // sinon, tout est okay
// lance l'exécution de notre thread ResumeThread(hThread);
// et patiente jusqu'a ce que notre thread soit fermé WaitForSingleObject(hThread, INFINITE);
}
// fin! return 0;
}
DWORD WINAPI dwThreadProc(LPVOID lParam) {
printf("Hello, mon id est: %d\n", GetCurrentThreadId());
// petite pause pour faire patienter notre main() ;)
Sleep(5000); // 5 secondes
return 0; // c'est terminé
/* Si tu veux quitter ton thread quand tu le veux plutôt que d'utiliser des 'return 0;' partout, tu peux aussi utiliser ExitThread(intErrorCode); */
}
Je vais bientôt mettre un petit 'tutoriel' expliquant l'utilisation des threads, messages, ressources partagées & compagnie ...
sur ce, @++;
~(.:: NitRic ::.)~
|
|
mercredi 18 février 2004 à 18:08:01 |
Re : VC++ - Thread

dambeaufort
|
ok je te remercie je vais tester.
Une autre qst. peux tu me dire comment parametrer la fct afxbeginthread? (car je crois que createthread n'est pas conseiller pour les MFC)
peux tu me dire egalement comment mettre fin à un thread (principal ou second thread ) à partir d'un autre thread? (ex thread du main, thread 1, thread 2, je voudrais que le thread 2 stop l'executuion du thread principal).
Merci encore
|
|
mercredi 18 février 2004 à 18:44:06 |
Re : VC++ - Thread

NitRic
|
Piur ce qui est de 'AfxBeginThread()' je suis désolé mais tu vas devoir m'oublier car je n'utilise pas les MFC's et j'en ai pas l'intention non plus ...
Pour ce qui est de fermer un thread, tu peux utiliser PostThreadMessage() pour envoyer un message et PeekMessage() pour le récupérer dans les threads mais, avec les MFC's j'ignore 'Totalement' de quel facon ca fonctionne alors je ne sais absolument pas si ca va fonctionner ... Désolé ...
Il y à aussi TerminateThread() mais, ce n,est pas conseillé car cette fonction met belle et bien fin au thread demandé mais ne libère absolument aucune des ressources utilisé par le thread, même chose pour la fonction CloseHandle(), le best pour fermer un thread tout en libérant les ressources qu'il utilise est d'utiliser les systèmes de messages(dont je t'ai parlé plus haut) ou, dans le thread, un 'return 0;' ou ExitThread(inErrorCode); ce qui va permettre de libérer toutes ressources utilisées par le thread ...
Tu pourrais toujours utiliser une petite variable 'global' qui indiquerai au thread s'il doit ce fermer ou non mais tu devras utiliser soit un Mutex, CriticalSection, ... pour partager une ressource(variable) mais bon ... ce n'est vraiment mais 'Vraiment' pas une très très belle méthode donc, non conseillé ...
Bref, comme je t'ai dis plus haut, je n'ai aucune idée du comment cela fonctionne avec les MFC's donc ... désolé ...
Sur ce, bye bye && @++;
~(.:: NitRic ::.)~
|
|
Cette discussion est classée dans : vc, thread
Répondre à ce message
Sujets en rapport avec ce message
multi-thread [ par bk263249 ]
Bonjour,Je travaille sur un code C++ qui contient un thread qui gere la detection d'une carte dans un lecteur.Depuis que je suis passe de VC++5 a VC++
comment créer un thread sous vc++, ou est définie pthread.h [ par saerlo ]
GORDON
Thread sous VC++ [ par Sigma ]
Hello all,j'ai 2 question :- Quel est l'utilité exact d'une thread ?- Comment en integrer une dans VC++ ? Ce sont les meme codes que pour les autres c
Thread, Client/Serveur VC++.Net et avec WinForms ( pas d'MFC ) [ par lacousine ]
Bonjour,j'ai développé un serveur qui accept plusieurs clients avec des sockets. Voici mes problèmes: lorsque je veux mettre fin à mon serveur et qu'i
VC++ [ par isirnet ]
1/ Comment une image bmp comme fond pour un control "STATIC TEXT" 2/ dans une application C++, comment definir (et ou ?) le fond de tous les boite
probleme avec les threads [ par chedly_ensi ]
Bonjour, j'ai un code source que je dois comprendre, en suivant les instructions, je trouve dans l'un des fichiers: //////////////////////////////////
vc++.net configuration [ par lilington ]
Salut je viens d'installer .net et quand je lance un programme vc++ j'ai cette erreur : Impossible de démarer le debogage Imposssible de demarer le
Indicateur code natif ou managé en VC++ .NET [ par hherry ]
Bonjour,Je souhaite compiler une DLL (développée sous VC++ 6) en 100% managé avecVC++ .NET 2003. Je n'ai pas droit à l'erreur car c'est pour une appli
Probleme installation pack 6 VC++ 6 [ par said01 ]
Bonjour,je suis sous xp pro et VC++ 6, j'ai souhaité installé pack 5 ou 6 que j'ai téléchargé chez micriosoft; mais impossible d'aboutir. &n
Probleme installation pack 6 VC++ 6 [ par said01 ]
Bonjour,je suis sous xp pro et VC++ 6, j'ai souhaité installé pack 5 ou 6 que j'ai téléchargé chez micriosoft; mais impossible d'aboutir. &nbs
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante 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
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
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
|