1) Chiudi il server socket => causa lo sblocco della accept => se la accept ritorna errore ovviamente non crei il nuovo thread => col socket chiuso nessuno si può più collegare
2) avvisi i vari thread/socket/client connessi (non so esattamente cosa devi fare "per-thread") che il programma sta uscendo
3) fai join su tutti i thread per attendere che abbiano completato l'operazione di uscita