begin process at 2010 02 10 14:30:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Lancement thread successif (ordonnés)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lancement thread successif (ordonnés)

lundi 19 septembre 2005 à 09:58:45 | Lancement thread successif (ordonnés)

themaste

Salut!
Voila, j'ai une question d'ordre propreté du code.
En fait, j'ai plusieurs thread, et j'aimerais pouvoir les lancés les un après les autres..je m'explique....
Chaque thread possède une initialisation, mais il faudrait que le thread 2 se lance une fois que le 1 a fini son initialisation, que le 3 commence après l'init du 2 etc....
J'ai pensé a une variable globale (système que j'utilise deja pour la fin), mais je voulais savoir si il y avait une methode "propre" vis a vis du code pour ce principe.

Je vous remercie pour vos reponses!!!
lundi 19 septembre 2005 à 10:07:12 | Re : Lancement thread successif (ordonnés)

BruNews

Administrateur CodeS-SourceS
Une solution propre, fais un event avec CreateEvent(), tu pourras faire un WaitForSingleObject dessus, le signaler par SetEvent(), etc...

ciao...
BruNews, MVP VC++
lundi 19 septembre 2005 à 11:46:29 | Re : Lancement thread successif (ordonnés)

dofdof

Salut,

Tu peux créer un objet file d'attente.
lundi 19 septembre 2005 à 17:28:45 | Re : Lancement thread successif (ordonnés)

themaste

J'ai essayer avec les events, mais sans succès a priori. Je dois mal m'y prendre.

Voila ce que j'ai:

HANDLE hGlobalWriteEvent;

DWORD WINAPI LaunchMainThread( LPVOID pParam )

{

bool l_bResult = SetEvent(hGlobalWriteEvent);

...

l_bResult = ResetEvent(hGlobalWriteEvent);

...

//Fin du thread

ExitThread(0);

return 0; // thread completed successfully

}

DWORD WINAPI LaunchDecisionCheckingThread( LPVOID pParam )

{

WaitForSingleObject(hGlobalWriteEvent, INFINITE);

...

//Fin du thread

ExitThread(0);

return 0; // thread completed successfully

}

Et dans la fonction principale, je met:

hGlobalWriteEvent = CreateEvent(NULL, TRUE, TRUE, "WriteEvent");
Avant de créer les thread...
Mais en fait, le waitfor singleobject n'attends pas..... Du coup, je sais pas koi faire.

lundi 19 septembre 2005 à 17:47:35 | Re : Lancement thread successif (ordonnés)

BruNews

Administrateur CodeS-SourceS
Func qui lance les threads:
hev = CreateEvent(0, 1, 0, 0); // MANUEL, NON SIGNALE
// lance 1er thread
WaitForSingleObject(hev, INFINITE);   // ATTENTE SIGNALEMENT
ResetEvent(hev);                      // REMISE EN NON SIGNALE
// lance 2nd thread
WaitForSingleObject(hev, INFINITE);   // ATTENTE SIGNALEMENT
ResetEvent(hev);                      // REMISE EN NON SIGNALE
etc....
CloseHandle(hev);

1er thread:
// fais ses inits
SetEvent(hev); // INFORME QUI ATTEND PAR SIGNALEMENT EVENT
// finit son boulot

autres threads idem.


ciao...
BruNews, MVP VC++


Cette discussion est classée dans : code, lancement, thread, successif, ordonnés


Répondre à ce message

Sujets en rapport avec ce message

thread [ par lounirp ] lounirpA l'aide!!J'ai un problème avec le lancement d'un threadcomment faire pour que je puisse lancer un thread sur une méthode getPNMData...Vlà ce q à propos des threads [ par GUERRIER_ABSOLU ] Salut, je voudrais savoir s'i quelqu'un a déjà essayé d'appeler une fonction dans un thread et a remarqué quelque chose d'innatendu. En fait quand j'a Class & CreateThread [ par Renfield ] Bonjour, j'ai un petit soucis de compilation...dans une classe, je voudrais créer un Thread. ma proc est définie comme cela :LPTHREAD_START_ROUTINE Question sur Thread dans mon serveur multithread [ par Nixeus ] Bonjour a tous !J'ai récupérer un code source d' un serveur multithread multi client, en mode console.J'ai repris les classes et j'ai porté ce program Threads sous Windows/Linux [ par raananb ] L'extrait de code ci-après (développé avec wxWidgets en C++) traite une série de fichiers : pour chaque fichier il affiche le nom dans un label, une i Prob de thread [ par sebastienbro ] Bonjour, j'ai un problème avec des thread, je n'arrive pas a en créer un :(Voici mon code : HANDLE hThread1;DWORD dwThreadId1;DWORD WINAPI T Terminer un thread [ par vecchio56 ] RebonjourJ'ai crée un thread de la manière suivante:HANDLE hThread = CreateThread(0, 0, ThreadProc, &ts, 0, &dwThreadId);et je thread [ par li ] voila mon code  ...j'esplique, j'ai une class qui contien une function que je veut apeler dans un thread et cela me cause certain probleme   que j'ai [QT] Probleme avec QListWidget [ par Ilsundal ] Bonjour à tous,j'ai un probléme d'actualisation de ma QListWidget dans mon programme, en fait cette QList me sert de journal (log) pour les action du Lancement de "Hello World !" Qt4 [ par LucyUnDemi ] Bonjour a tousJe travaille sous kubuntu ; il y a quelques temps deja j'ai installe une bibliotheque Qt4 et Code::Blocks, et les programmes que je fesa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,167 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales