Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214

    [JAVA] differenza tra Runnable e Thread

    che differenza c'è tra implementare runnable ed estendere Thread???

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Se estendi thread potrai ridefinire altri metodi oltre il metodo run.
    Quindi secondo alcuni "puristi" se non tocchi altri metodi apparte run la scelta più ideale è implementare Runnable, ma dipende dal programmatore, io ad esempio preferisco estendere Thread anche se appunto questo approccio c'è chi dice che si deve usare solo quando si migliora la classe nel complesso.

    Tieni conto che Java non supporta l'ereditarietà multipla, quindi quando hai già usato una classe come superclasse, non ti resta che usare runnable.

    Altra differenza è nella filosofia del progetto, se estendi thread la tua classe sarà un thread, se implementi runnable sarà "una classe abilitata ad eseguire un thread", ma il thread stesso e chi da il corpo al metodo run non saranno la stessa istanza.

    Quindi fai come ti piace di più.

    Io ad esempio quando ho tanti thread non di grandi dimensioni( quindi non dei server) creo classi anonime che implementano Runnable:

    codice:
    ...
    Thread t = new Thread(new Runnable() {
     public void run() {
       // cosa fare
     }
    });
    ...
    t.start();
    Ma anche questa è ritenuta "sporca".

    In conclusione usa cosa ti piace di più salvo vincoli(come l'eredità singola)

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

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.