19/07/06 19:25
Shutdown
Nel programma seguente ci sono tre thread...
ovvero il main thread, e due thread figli...
mi sono accorto che le operazioni dei due thread
figli non vengono eseguite perchè il main
thread termina prima che i due thread figli
abbiano finito...
Come posso risolvere a questo problema??
Inoltre mi piacerebbe sapere come posso mettere
in PAUSA un thread e come TERMINARLO...
Grazie 1000 a tutti... molto gentili...
ovvero il main thread, e due thread figli...
mi sono accorto che le operazioni dei due thread
figli non vengono eseguite perchè il main
thread termina prima che i due thread figli
abbiano finito...
Come posso risolvere a questo problema??
Inoltre mi piacerebbe sapere come posso mettere
in PAUSA un thread e come TERMINARLO...
Grazie 1000 a tutti... molto gentili...
#include <iostream> #include <windows.h> using namespace std; // Prototipi bool createThread(void (*method)()); void metodo1(); void metodo2(); HANDLE Thrd; DWORD dwThrdId, dwThrdPrm; // entry point del programma. int main( int argc, char* argv[] ) { // metodo1 thread createThread(metodo1); // metodo2 thread createThread(metodo2); // termina senza errori return 0; } // Crea un nuovo Thread. bool createThread(void (*method)()) { Thrd = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)method, 0, 0, &dwThrdId ); if(Thrd) return true; else return false; } void metodo1() { while( true ) MessageBox( NULL, "", "", MB_OK ); } void metodo2() { while( true ) MessageBox( NULL, "", "", MB_OK ); }
aaa