PDA

View Full Version : [C] altri dubbi con i thread


misterx
05-09-2013, 11:07
ciao,
se ho un thread che esegue una certa funzione esterna, ad esempio un ciclo piuttosto lungo, mi chiedo se questo rimane congelato sino al termine del ciclo stesso.

Dico questo in quanto mi pare che implementando il ciclo direttamente all'interno del codice del thread tutto il programma sembra più performante e più controllabile.

WarDuck
06-09-2013, 18:00
ciao,
se ho un thread che esegue una certa funzione esterna, ad esempio un ciclo piuttosto lungo, mi chiedo se questo rimane congelato sino al termine del ciclo stesso.

Dico questo in quanto mi pare che implementando il ciclo direttamente all'interno del codice del thread tutto il programma sembra più performante e più controllabile.

Non ho capito cosa intendi...

Tutte le funzioni chiamate nel contesto di un thread vengono invocate nel thread stesso, quindi al massimo blocchi quel thread ma non gli altri.

misterx
06-09-2013, 18:58
Non ho capito cosa intendi...

Tutte le funzioni chiamate nel contesto di un thread vengono invocate nel thread stesso, quindi al massimo blocchi quel thread ma non gli altri.

intendo dire che se per comodità sposto un ciclo piuttosto lungo all'esterno del thread, questo può disturbare l'intero processo in termini di performance?

Il dubbio mi viene in quanto sono mosso dalla convinzione che ciò che viene racchiuso tra

thread()
{

}

viene eseguito come thread e se un thread richiama una funzione implementata all'esterno, in quel momento il thread si comporta come un processo diminuendo le prestazioni :stordita:


Continuando la tua definizione, se tutte le funzioni richiamate da un thread, interne/esterne fanno parte del thread allora hai dissolto ogni mio dubbio.