PDA

Visualizza la versione completa : [C++] Problema threading


pprllo
02-07-2005, 20:08
Ho un problema con i thread.
In un mio programma dovrei creare un thread da un altro thread. Solo che quando uso il metodo CreateThread, il thread (secondario) da cui lo richiamo si blocca fino a che la funzione associata non ritorna. Come devo fare ?

DYNAM!C+
02-07-2005, 20:21
mmmh
prova a crearlo CREATE_SUSPENDED, poi ripristinalo.

strano, perche' cmq sia CreateThread deve restituire un handle e non un exitCode...

pprllo
02-07-2005, 21:26
Ho risolto aggirando il problema. Comunque non so, esiste qualche limitazione che impone di non creare thread all'interno di altri ? Boh ...

Squall1988
02-07-2005, 21:33
se ci sei riuscito magari posta il codice che potrebbe aiutare utenti futuri ;)

pprllo
02-07-2005, 21:33
Trovato l'errore ... Un mio personalissimo fraintendimento dei puntatori a funzione ... Che cozza che sono ... :dh:

DYNAM!C+
02-07-2005, 21:37
Originariamente inviato da pprllo
Ho risolto aggirando il problema. Comunque non so, esiste qualche limitazione che impone di non creare thread all'interno di altri ? Boh ...

no.
cmq esiste un limite di thread che possibile avere in un'applicazione di circa 2000 (con circa 1M di stack) ... cmq sia dipedente dalla quantita' di stack che ha a disposizione un thread

Matteo982
02-07-2005, 23:24
Al posto di usare dei metodi non potresti semplicemente fare: (mettiamo che la classe del tuo secondo thread si chiami TSecondo)


new Tsecondo().start();

Ciao. :ciauz:

alka
03-07-2005, 04:30
Come possibile fornire una soluzione senza vedere nemmeno uno stralcio del codice sorgente (che quindi impedisce di capire a cosa dovuto il blocco) e senza sapere addirittura di quale linguaggio di programmazione si sta parlando?
:nonono:

Por favor... dettagliare tutto... :)

Ciao! :ciauz:

Matteo982
03-07-2005, 11:11
Ero convinto si parlasse di java per in effetti adesso che lo fai notare... :bh:

Ciao. :ciauz:

pprllo
03-07-2005, 12:10
E' vero ho dimenticato ... Comunque parlavo di C++. Comunque ho capito il problema ed era colpa mia ... :D

Loading