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

    Thread con chiamate consegutive

    Avrei la necessità di scrivere una classe astratta e contenga un metodo astratto da ridefinire (ad esempio lavoro()) e che disponga di un altro metodo che invocato effettui l'esecuzione (ad esempio lancia()) di lavoro() ma non prima che siano passati tot secondi (parametro del costruttore) dall'ultima chiamata. Qualora siano passati meno secondi di quanto stabilito dovrebbe sospendere l'esecuzione ed eseguirla al termine del tempo; tutte altre eventuali chiamate al metodo eseugui() quando ce n'è uno in esecuzione verrebbero ignorate.

    Dovrebbe funzionare essere cosi:

    abstract class EseguiTempo extends .... {

    public EseguiTempo(int secondiTimeout){...}
    abstract publi void lavoro() {}
    public void lancia() {...}

    }
    ...
    EseguiTempo mio = new EseguiTempo(10) {
    public void lavoro() {
    // Mio codice
    }
    };
    ...
    mio.lancia(); // Prima volta esegue sicuramente
    Thread.sleep(5000);
    mio.lancia(); // Sono passati solo 5 sec., metto in attesa
    mio.lancia(); // C'è già una chiamata in attesa, ignoro
    ...
    Ho provato in tutte le salse a costruire EseguiTempo estendendo Thread e utilizzando wait() e notify() ma trovo sempre qualche inghippo, c'è qualcuno che mi sa aiutare?
    Grazie
    Matteo

  2. #2
    Se spieghi che problemi ti da si può vedere di risolverli con più precisione che chiedendo così in generale... :master:

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

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.