|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5293
|
[Java] Thread che parte ad intervalli regolari per svolgere delle operazioni.........
Avrei bisogno di qualche dritta per realizzare un thread che ad intervalli regolari venga eseguito!
Devo gestire una sorta di cache per dei dati che sono memorizzati su un database! Spiego meglio il problema che devo risolvere! Ho dei dati indicizzati tramite una chiave memorizzati un un database.... poichè è possibile che più colte vengano richiesti gli stessi dati vorrei memorizzarli all'interno di un HashMap e restituirli direttamente nel caso in cui siano presenti, viceversa li andrei a prelevare dal database, poi li andrei ad inserire nell'HashMap e infine restituirli..... Cosa succede se però questi sono troppo vecchi o l'HashMap diventa troppo grande?? Per questo motivo ho bisogno di un thread che ad ogni tot di tempo vada ad effettuare dei controlli..... Quello di cui ho bisogno è non come si scrive un thread, ma come far si che ad intervalli regolari esso venga invocato.... Esiste una qualche classe Interval, o magari qualche metodo setInterval(Thread, millisecondi) per esempio???
__________________
Ryzen 1700X - Asus Crosshair VI X370 - DDR4 16 GB G.Skill Trident 3400 CL16 - NZXT Kraken X62 (Arctic Freezer 7 replacing
![]() |
![]() |
![]() |
![]() |
#2 | |
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Quote:
ma sei sicuro che ciò ti serva davvero? non te la potresti cavare effettuando il controllo su dimensione e stato di aggiornamento temporale della tua cache durante l'accesso alla stessa? ciao! british |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Ogni volta che devi accedere ai dati prima consulti questa cache e se i dati non sono presenti oppure sono più vecchi in un intervallo da te scelto li recuperi ex novo dal db sottostante.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5293
|
Quote:
Grazie della dritta.... Le classi Timer + TimerTask sono quello che cercavo ![]()
__________________
Ryzen 1700X - Asus Crosshair VI X370 - DDR4 16 GB G.Skill Trident 3400 CL16 - NZXT Kraken X62 (Arctic Freezer 7 replacing
![]() |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5293
|
Quote:
I dati posso essere inseriti nella Map in tempi diversi e richiesti con frequenze differenti, quindi devo gestire ciascuna entry come un caso a parte!
__________________
Ryzen 1700X - Asus Crosshair VI X370 - DDR4 16 GB G.Skill Trident 3400 CL16 - NZXT Kraken X62 (Arctic Freezer 7 replacing
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ok, messa così è diverso, avevo immaginato la cosa fosse più semplice.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:05.