Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2008, 15:44   #1
ChriD
Senior Member
 
L'Avatar di ChriD
 
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5295
[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 ) - Samsung SSD 850 EVO 512GB - Corsair AX850 Gold - Phanteks Enthoo EVOLV Temperated Glass - LG 34UC88
ChriD è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 16:40   #2
british
Member
 
L'Avatar di british
 
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
Quote:
Originariamente inviato da ChriD Guarda i messaggi
Avrei bisogno di qualche dritta per realizzare un thread che ad intervalli regolari venga eseguito!
dai un occhio alla classe java.util.Timer

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
british è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 16:49   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da british Guarda i messaggi
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?
Quoto: potresti semplicemente creare una classe che wrappi l'HashMap e contenga il timestamp dei dati caricati nella stessa.
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 16:56   #4
ChriD
Senior Member
 
L'Avatar di ChriD
 
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5295
Quote:
Originariamente inviato da british Guarda i messaggi
dai un occhio alla classe java.util.Timer

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
Per quello che riguarda l'aggiornamento temporale potrei farlo sicuramente come dici tu, ossia qualche controllo quando ci accedo nel leggere i dati, ma per quello che riguarda la dimensione, non mi voglio ridurre ad eliminare i dati a casaccio o svuotare del tutto la HashMap, ma fare un controllo sui dati che sono meno richiesti (dal punto di vista del tempo e forse anche degli accessi), ed essendo un server quello che sto realizzando, vorrei lascirlo libero di elaborare altre richieste mentre questa sorta di "garbage collector" lavora!

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 ) - Samsung SSD 850 EVO 512GB - Corsair AX850 Gold - Phanteks Enthoo EVOLV Temperated Glass - LG 34UC88
ChriD è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 16:59   #5
ChriD
Senior Member
 
L'Avatar di ChriD
 
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5295
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Quoto: potresti semplicemente creare una classe che wrappi l'HashMap e contenga il timestamp dei dati caricati nella stessa.
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.
I dati da gestire sono tanti e un Timestamp in un wrapper della HashMap credo sarebbe troppo riduttivo.....

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 ) - Samsung SSD 850 EVO 512GB - Corsair AX850 Gold - Phanteks Enthoo EVOLV Temperated Glass - LG 34UC88
ChriD è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 17:03   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ChriD Guarda i messaggi
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!
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
L'intelligenza artificiale ha reso pi&ug...
L'intelligenza artificiale per lo svilup...
Il sistema di verifica dell'identit&agra...
Ora è ufficiale: Samsung sta per ...
Motorola Edge 70 Fusion: ecco le specifi...
8TB a meno di 170€: il richiestissimo Ha...
Il nuovo MacBook 'low cost' arriver&agra...
Pokémon Rosso Fuoco e Verde Fogli...
Risparmiare con le offerte Amazon: weeke...
Gli Xiaomi 17 arrivano a fine febbraio, ...
48.000 Pa a poco più di 100€: la ...
PC più potente, meno spesa: su Amazon to...
Con 2 acquisti si ottiene il 40% di scon...
Blocco VPN in Spagna durante le partite ...
ECOVACS DEEBOT T30C OMNI GEN2 torna a 34...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:34.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v