Originariamente inviato da javatore
Se devi mettere in sleep l'applicazione principale fino a quando il thread non ha finito allora che senso ha utilizzare un thread?? Fai l'operazione di connessione in una funzione, così appena questa ritorna l'applicazione principale continua...
Beh, magari ha la necessità di eseguire più processi in parallelo e attendere che tutti abbiano concluso. Si fa in questo modo:
codice:
// Creo un array con tutti i thread da lanciare
Thread[] elencoThread = new Thread[NUM_THREAD];
// Creo ciascun thread e lo eseguo
for(int i=0; i<NUM_THREAD; i++) {
elencoThread[i] = new TuoThread( ... );
elencoThread[i].start();
}
// Attendo che tutti abbiano finito
for(Thread t : elencoThread) t.join();
Ciascuna chiamata a join() farà sì che il thread corrente (quello principale) attenda il completamento del thread su cui il metodo è stato invocato. Se il thread è già terminato, la chiamata termina immediatamente e si passa al prossimo.
Ciao.