Quote:
Originariamente inviato da shatzy
dunque è da lui che parte l'handler e almeno in questo caso dovrebbe partire prima che il thread riprenda la normale esecuzione, invece ciò non accade e thread1 fa comunque 2 cicli.
|
Quando tu lanci il segnale, questo parte in modo asincrono e l'esecuzione del thread prosegue praticamente subito.
D'altro canto invece la gestione del segnale non e' cosi' immediata come uno potrebbe immaginarsi visto che richiede un po' di gestione da parte sia del kernel che delle librerie : capire se il processo gestisce o meno il segnale, capire quale thread e' in condizioni di farlo etc. Ora che viene chiamato il signal handler nel thread opportuno, il thread di cui sopra avra' gia' eseguito un po' di istruzioni.