Newsgroup: it.comp.java
Titolo: [AWT] ma come funzionano i thread?

Ciao,
ci riprovo sperando che qualcuno mi aiuti!!
Sono disperato, ho un problema bloccante che non mi permette di andara 
avanti!!
La questione è semplice:
Sul click di un bottone in una form AWT instanzio un thread, che fa gli
affari suoi... anche una semplice println.
Il problema è che fintanto chè il thread non finisce la sua operazione(pur
banale he sia) l'interfacca AWT rimane ferma, bloccata... non posso fare
alcuna altra operazione!!
Come faccio, il thread non serve proprio  fare operazioni asincrone??
Dove sbaglio?
Ad instanziare il thread?
Graditi tutorial o risposte dirette!
grazie!!!!!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:b13qjf$e4a$1...@news.newsland.it...


 sergio
Credo di averlo scritto bene, ma spero di sbagliare cos' almeno c'è
rimedio!!
La mia classe è tipo questa:
public class Prova extends Thread
{
    public prova()
   public void start()
    {
            sleep(10000);
            System.out.println("Fatto");
    }
}
Dal main:
Prova p = new Prova();
p.start();
Tutta l'AWT so freeza per 10 secondi, poi stampa "Fatto"  riprende a
funzionare!
Ho provato anche con la run() ma non cambia nulla!
Grazie 1000, per l'aiuto!
ciao

 }
in un thread il metodo che starta deve essere dle tipo... public void run()
e fai bene a farlo startare attraverso p.start() ma all'interno della classe
è fondamentale deve essere run

 ecco l'errore
[cut]
Avevo gia provato ma nulla ... non va!!
Ti posto la classe completa:
public class MioThread extends Thread 
{
 
        public MioThread()
        {
 
        }
 
        public void start() 
        {
            run();
 
        }
        public void run()
        {
        try{
            sleep(5000);
            System.out.println("Fatto");
        }
        catch(Exception ex){}
}
Dal Chiamante faccio 
MioThread t = new MioThead();
t.start();
grazie per la disponibilità!!!!!


         }
Se ridefinisci start() il meccanismo normale del thread non funziona più 
(ovviamente). Prova a cancellare questo metodo lasciando soltanto run().
ciao :-)
pole

 pole
Ho provato di tutto!!
Non è che qualcuno può fare una semplice prova??
Una form AWT, un bottone che lancia un thread che dopo 5 secondi scrive
"Fatto".
Mentre sta il thread sleep(5000) il bottone è ricliccabile???
tutto qui... cacchio è banale, ma perchè non va!!!
grazie


 tutto qui... cacchio è banale, ma perchè non va!!!
Sicuro di aver letto bene quello che ti ho scritto? Devi *rimuovere* il 
metodo start() dalla tua classe, così come è *non può* funzionare perché la 
chiamata altrimenti viene eseguita nello stesso thread come se si trattasse 
di un qualunque altro oggetto.
ciao :-)
pole

devi eliminare il metodo start java mappa in automatico start su run
--------------------------------
Inviato via 
http://usenet.libero.it

 Ho provato di tutto!!
Tranne che la cosa giusta, cioe' leggere come funzionano i thread.
_NON_ devi fare l'overload di start().
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

Master-Two wrote:
Vi amo  TUTTI!!!!!
Ho risolto!!!!!
mitici!!!
devo chiamare la start senza ridefinirla, e parte la run in automatico!!
Grazie grazie ancora, buona giornata!!!
