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

    Java - Sospendere un programma

    Salve a tutti. Ho letto qua e là che esiste il metodo sleep della classe thread ma quel metodo ferma il programma per un periodo limitato.. Io vorrei sospenderlo finchè non avviene una determinata azione. In questo caso finchè una cartella di cui so l'indirizzo non è piena (se è vuota si sospende e riprende l'esecuzione quando qualcuno inserisce un file). Qualcuno conosce dei metodi per fare tutto ciò? Grazie dell'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il modo migliore per fare questo genere di cose è creare un sistema di eventi:
    generi l'evento "coda piena" quando la coda è piena e quando questo è lanciato, ci sarà un ascoltatore dell'evento che provvederà a svuotare la coda.
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    tramite una variabile booleana potresti richiamare in successione vari sleep per un determinato tempo , esempio:

    codice:
    boolean sospendi = controllaDeterminataAzione ();
    long millisecondi = 1000; //metti tu il tuo valore
    while (sospendi) {
    Thread.sleep (millisecondi);
    sospendi = controllaDeterminataAzione ();
    }
    ovviamente lo svantaggio di questo procedimento è la cosiddetta "attesa attiva"...


  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da zipangulu
    tramite una variabile booleana potresti richiamare in successione vari sleep per un determinato tempo , esempio:

    codice:
    boolean sospendi = controllaDeterminataAzione ();
    long millisecondi = 1000; //metti tu il tuo valore
    while (sospendi) {
    Thread.sleep (millisecondi);
    sospendi = controllaDeterminataAzione ();
    }
    ovviamente lo svantaggio di questo procedimento è la cosiddetta "attesa attiva"...

    a parte quello, stendi il tappeto rosso a dead-lock e mal di testa....se non costretto evita questa soluzione, l'evento resta la soluzione migliore, asincrono, non è detto che accada, non stai a fare thread che poi devi preoccuparti di sincronizzare, sbloccare, impostare timeout ecc
    RTFM Read That F*** Manual!!!

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.