lords91
23-11-2014, 08:47
Salve a tutti come da titolo ho un po di confusione con la programmazione thread. Mi spiego meglio
Nel costruttore di un oggetto creo un thread
try {
while(true){
.....
Thread.sleep(1000);
}
} catch (InterruptedException ie){
logger.debug(ie);
}
Ovviamente dato che all'avvio dell'applicazione faccio un'istanza dell'oggetto in questione il thread parte automaticamente e fin qua ci sono. La partenza del thread però mi preclude l'apertura del mio jFrame o meglio l'applicazione si avvia, fa quello che deve fare, ma il frame completo di menu bottoni label non viene visualizzato o meglio viene visualizzato vuoto. Escludendo il thread invece viene visualizzato perfettamente. Pensando che fosse quest'ultimo ho messo un togglebutton che una volta selezionato mi fa partire il mio thread, facendo così mi fa vedere anche il mio bel frame completo.
Il problema sorge una volta avviato il thread giustamente il frame si blocca perchè l'applicazione sta sfruttando il thread ed oltre a non farmi fare più nulla non posso neanche fermare l'esecuzione stessa del thread. Mi aiutate a capire come aggiustare quindi questo thread ?
Nel costruttore di un oggetto creo un thread
try {
while(true){
.....
Thread.sleep(1000);
}
} catch (InterruptedException ie){
logger.debug(ie);
}
Ovviamente dato che all'avvio dell'applicazione faccio un'istanza dell'oggetto in questione il thread parte automaticamente e fin qua ci sono. La partenza del thread però mi preclude l'apertura del mio jFrame o meglio l'applicazione si avvia, fa quello che deve fare, ma il frame completo di menu bottoni label non viene visualizzato o meglio viene visualizzato vuoto. Escludendo il thread invece viene visualizzato perfettamente. Pensando che fosse quest'ultimo ho messo un togglebutton che una volta selezionato mi fa partire il mio thread, facendo così mi fa vedere anche il mio bel frame completo.
Il problema sorge una volta avviato il thread giustamente il frame si blocca perchè l'applicazione sta sfruttando il thread ed oltre a non farmi fare più nulla non posso neanche fermare l'esecuzione stessa del thread. Mi aiutate a capire come aggiustare quindi questo thread ?