Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 38
  1. #11
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    supponendo oggi di avere 3 appuntamenti uno alle 16, uno alle 17,uno alle 18,creo un thread che dorme dal momento del download degli appuntamenti fino alle 16 , in cui mi avvisa dell ,appuntamento, poi successivamente sempre lo stesso thread dorme fino alle 17 e cosi via.
    Esiste java.util.Timer, che è un Timer che girà in un suo thread e che può "schedulare" task in modo molto scalabile (anche migliaia di task, senza problemi) ad intervalli o a date precise.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #12
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Esiste java.util.Timer, che è un Timer che girà in un suo thread e che può "schedulare" task in modo molto scalabile (anche migliaia di task, senza problemi) ad intervalli o a date precise.
    E come lo posso usare nel mio caso, cioè io scarico delle ore di appuntamento dal db, ad esempio 18,19,20:30!! alle 18 devo ricevere un avviso , un altro alle 19, e un altro alle 20:30. Inoltre posso aggiungere anche nuovi appuntamenti in giornata: ad esempio alle ore 17 , aggiungo un appuntamento alle 18:30!! Timer fa al mio caso?

  3. #13
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Timer fa al mio caso?
    Guarda la documentazione Javadoc e in particolare il suo schedule(TimerTask task, Date time) .
    Per altri dubbi, chiedi pure. La cosa importante da sapere subito è che i task vengono eseguiti nel contesto di quel suo thread di Timer, che quindi non va tenuto impegnato per troppo tempo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #14
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Quote Originariamente inviata da andbin Visualizza il messaggio
    La cosa importante da sapere subito è che i task vengono eseguiti nel contesto di quel suo thread di Timer, che quindi non va tenuto impegnato per troppo tempo.
    In che senso scusa ?

  5. #15
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    In che senso scusa ?
    Concettualmente è esattamente la stessa cosa che avviene con il EDT in Swing. In generale nei casi dove c'è un "framework" che ha un suo thread che fa molte cose e di tanto in tanto permette di "chiamare" del tuo codice (in Swing tramite Runnable o i metodi dei listener, mentre in java.util.Timer è TimerTask che è-un Runnable).
    Se tieni "impegnato" il suo thread .... lui non può fare altro in quel frangente (in Swing non disegna componenti o dispaccia eventi, in java.util.Timer non schedula/invoca altri task).
    Se hai capito il threading in Swing .... hai capito il threading in java.util.Timer.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #16
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    il threading in swing l'ho capito , quindi per quello che devo fare io la classe timer non va bene? cioè ho bisogno qualcosa che mi ricordi l'appuntamento a una determinata ora: supponendo che oggi ho 3 app.ti uno alle 17 , uno alle 18 , uno alle 19. Adesso mi scarico gli appuntamenti del giorno. QUindi il mio timer dovra informarmi alle 17,18,19. Il problema è che se aggiungo un appuntamento alle 16.30, dovrà attendere perchè ormai è gia impegnato con quello delle 17?
    Ultima modifica di linux_r; 11-04-2014 a 11:06

  7. #17
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    quindi per quello che devo fare io la classe timer non va bene?
    Può andare bene. Ma ripeto la cosa: quando Timer invoca il run() di un TimerTask lo fa nel suo thread, che non devi tenere impegnato per "troppo" tempo. Se devi fare cose "lunghe" dovresti creare un tuo nuovo thread.
    Esattamente come quando Swing dispaccia un evento, es. in actionPerformed e se devi fare cose "lunghe", dovresti creare un nuovo thread.
    Ti è chiaro o no?


    Quote Originariamente inviata da linux_r Visualizza il messaggio
    QUindi il mio timer dovra informarmi alle 17,18,19. Il problema è che se aggiungo un appuntamento alle 16.30, dovrà attendere perchè ormai è gia impegnato con quello delle 17?
    In Timer puoi schedulare task in qualunque ordine, lui è abbastanza smart da ordinarli e schedularli in maniera efficiente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #18
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Ok tutto chiaro. Adesso però ho trovato un metodo schedule della classe timer che prende in input il timertask , e Date oraDestinazione.
    Il problema è che l'ora la ho in java.sql.Time. Come converto?

  9. #19
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Ok tutto chiaro. Adesso però ho trovato un metodo schedule della classe timer che prende in input il timertask , e Date oraDestinazione.
    Il problema è che l'ora la ho in java.sql.Time. Come converto?
    java.sql.Time è-un java.util.Date.

    Se ad ogni modo vuoi avere (per qualunque motivo) un Date nuovo "pulito": java.sql.Time -> long millisecondi -> new java.util.Date(millisecondi)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #20
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    scusa in java.sql.time c'è solo l'ora mentre java.util.date include anche la data. Quindi al metodo di cui sopra posso passare direttamente l'oggetto java.sql.time?

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.