Non è perfettamente chiaro cosa vuoi fare/ottenere nella tua applicazione ma su quest'ultima tua domanda non ci sono problemi a rispondere.Originariamente inviato da xXAndreaXx
come faccio a rimettere i thread in condizione di ricevere un altro start()??
Una volta che su un oggetto Thread è stato invocato start(), anche se il "flusso" di esecuzione terminasse (cioè il thread entra nello stato di "dead", morto), NON puoi più riavviarlo.
Detto in altro modo: start() lo si può invocare 1 sola volta su un Thread.
E ad una domanda "come si riavvia?" la risposta è: istanziando un nuovo oggetto Thread.