maulattu
08-12-2010, 10:49
Ciao a tutti,
sto lavorando su un software che, brevemente, è un classica applicazione client-server tcp.
Ho un thread di interfaccia (server) che si mette in ascolto su una porta e, all'arrivo di connessioni, fa partire dei thread che gestiscono lo scambio dati di queste nuove connessioni.
Mi sorge una domanda: come richiedere la terminazione di questo programma?
Per capir meglio il mio dubbio, ho realizzato anche una cosa simile C (ambiente linux): quando voglio far terminare il programma, mando un bel SIGTERM (il sw in C va a gestire quel segnale), così da fermare tutti i thread (pthread_kill e pthread_join), liberare le risorse e terminare.
è possibile fare una cosa del genera anche in Java?
Il mio problema non sono i socket bloccanti (infatti uso SocketChannel con socket non bloccanti), ma proprio il modo in cui informare il thread di interfaccia di terminare.
Ho visto qualche tutorial on line a proposito della gestione dei segnali in java (package sun.qualchecosa), ma in java 6 sembra essere interdetto l'uso di tali funzionalità, oltre a non esser portabili...
Grazie a tutti per l'help :)
sto lavorando su un software che, brevemente, è un classica applicazione client-server tcp.
Ho un thread di interfaccia (server) che si mette in ascolto su una porta e, all'arrivo di connessioni, fa partire dei thread che gestiscono lo scambio dati di queste nuove connessioni.
Mi sorge una domanda: come richiedere la terminazione di questo programma?
Per capir meglio il mio dubbio, ho realizzato anche una cosa simile C (ambiente linux): quando voglio far terminare il programma, mando un bel SIGTERM (il sw in C va a gestire quel segnale), così da fermare tutti i thread (pthread_kill e pthread_join), liberare le risorse e terminare.
è possibile fare una cosa del genera anche in Java?
Il mio problema non sono i socket bloccanti (infatti uso SocketChannel con socket non bloccanti), ma proprio il modo in cui informare il thread di interfaccia di terminare.
Ho visto qualche tutorial on line a proposito della gestione dei segnali in java (package sun.qualchecosa), ma in java 6 sembra essere interdetto l'uso di tali funzionalità, oltre a non esser portabili...
Grazie a tutti per l'help :)