Newsgroup: it.comp.java
Titolo: Schedulazione di attivita'

Salve, avrei (di nuovo) un piccolo quesito da porre.
Supponiamo che io abbia realizzato uno scheduler per la mia 
applicazione. Adesso si puo' smanettare su un'interfaccia grafica per 
decidere in quali giorni/mesi/ore fare determinate azioni. Il punto 
adesso e' proprio questo: come faccio a far partire un'operazione 
all'istante specificato?
Ho guardato (un po' velocemente, ammetto) i Timer di swing e TimerTask, 
ma mi sembra di avere capito che si inneschino con un delay... io invece 
vorrei innescarlo per un instante (sia giorno che ora) precisi.
Qualche consiglio?
Saluti
CarMas

 writes:
C> Salve, avrei (di nuovo) un piccolo quesito da porre.  Supponiamo
C> che io abbia realizzato uno scheduler 
[... omissis ...]
C>  Ho guardato (un po'
C> velocemente, ammetto) i Timer di swing 
Usare quelli di java.utils.Timer ?
Occhio che  i task  schedulati devono finire  in fretta  (alla peggio,
lanciano il lavoro  in un thread separato e  rientrano) per non tenere
occupato il timer che a naso fa busy waiting.
C> e TimerTask, ma mi sembra di
C> avere capito che si inneschino con un delay... io invece vorrei
C> innescarlo per un instante (sia giorno che ora) precisi.  Qualche
C> consiglio?
Che precisione vuoi ?
Oltre  un  certo  livello  devi  cominciare a  gestire  gli  interrupt
hardware.
Ma se  scrivi bene  l'innesco dei task  schedulati non  dovresti avere
delay inaccettabili.
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e allevatore di bug da competizione

 hardware.
Quindi delegare la cosa a livello di SO? Ehm.. come si fa? ^^;
Saluti
CarMas

 a polling? (busy waiting sarebbe?)
Hai molti task? Io dopo un pň mi sono fatto una specie di 'cronmanager' 
cioč un thread che gestisce gli altri, tipo 'cron' di unix, tanto per 
capirsi. Cosě facendo riesco a gestire gli start/stop, eventuali 
riavviamenti di task giŕ attivi (arriva l'ora di farlo ripartire ed č 
ancora lě che va) ecc.
Credo che ci sia anche in giro qualcosa in java del tipo cron di unix
bye
DKano

 capirsi. 
Diciamo che, di base, ce ne dovrebbero essere sicuramente due ("fai una 
cosa di giorno", "fai una cosa di notte") che si ripetono regolarmente 
ogni giorno, ma nulla vieta un domani di personalizzare ("fai una cosa A 
dalle alle", "fai una cosa B dalle alle", "fai questo nei festivi")... 
quindi, si', posso arrivare ad avere molti task.
L'obiettivo ideale sarebbe proprio una cosa come il crontab. Anche 
perche' il programma dovrebbe girare 24/7, ma metti che per un qualche 
motivo crasha e viene riavviato: cosa succede ai thread che avevo 
attivato? Insomma, sono un po' dubbioso ancora su come muovermi.
Saluti
CarMas

 attivato? Insomma, sono un po' dubbioso ancora su come muovermi.
Io mi sono fatto sostanzialmente un task-manager, e poi man mano l'ho 
esteso aggiungendoci varie modalità di lancio (one-shoot, ogni x 
secondi, ecc.) e anche una specie di watchdog che si può attivare 
all'interno del Task lanciato per controllare che non si pianti. Ti 
ripeto, mi pare di aver anche intravisto in Internet qualche progetto 
simil-cron da cui si può partire, ma non ricordo assolutamente dove, 
prova a cercare "jcron" o cose simili...
bye
DKano