Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Più Thread in una classe

    Salve a tutti ragazzi, devo porre una domanda, forse un po stupida.
    Ho creato un applicazione java con netbeans, con diverse funzioni.
    Per ognuna delle funzioni, per evitare l'apparente blocco dell'applicazione (dato che fa continue connessioni con un database remoto), dovrei definire un thread, cosa piuttosto lunga.
    E' possibile definire più thread all'interno della stessa classe?
    OnLine il nuovo sito: www.lasfidacontinua.it

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Più Thread in una classe

    Originariamente inviato da rob_santini
    E' possibile definire più thread all'interno della stessa classe?
    Sì ma la questione l'hai posta male. E comunque dovresti precisare: più thread che fanno lo stesso "lavoro"? O più thread che fanno "lavori" diversi??

    Per avere un thread di esecuzione basta semplicemente istanziare un oggetto Thread (e usare start() per farlo partire). E ci sono 2 strade per definire il "lavoro" di un thread: una tua classe X che estende Thread oppure una tua classe X che implementa Runnable (devi comunque istanziare un Thread e passare il tuo Runnable).
    In ogni caso, come vedi, devi definire 1 classe. E questo puoi farlo dove e come vuoi ... con una classe top-level, inner class (anche local/anonymous), nested class.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si scusa mi sono espresso male
    In netbeans, avendo fatto un'applicazione grafica, ho una funzione per ogni button/menu. La domanda è: devo definire una nuova classe per ogni funzione o esiste una strada più veloce?
    Grazie
    OnLine il nuovo sito: www.lasfidacontinua.it

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da rob_santini
    devo definire una nuova classe per ogni funzione o esiste una strada più veloce?
    Ti è chiara la questione che per definire un "lavoro" (del tuo codice dentro un metodo run() ) devi estendere Thread o implementare Runnable??

    E comunque in una applicazione Swing, far partire un thread generalmente è il problema minore .... perché bisogna anche valutare se il tuo "lavoro" eseguito nel contesto di un thread che non è il EDT deve aggiornare, quando e come, la interfaccia utente. Perché se non sei nel EDT, non devi accedere direttamente alla interfaccia utente (salvo casi particolari documentati).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Originariamente inviato da andbin
    Ti è chiara la questione che per definire un "lavoro" (del tuo codice dentro un metodo run() ) devi estendere Thread o implementare Runnable??
    Chiarissima. Ho già definito altri thread.

    La classe dell'applicazione swing è solo una, quindi posso definire al suo interno un solo metodo run(), giusto? Se a me ne servono di più, come devo fare? Definire per forza un'altra classe?
    OnLine il nuovo sito: www.lasfidacontinua.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.