Esatto. E visto che in ogni caso devi estendere TimerTask, allora puoi fare in modo che ogni oggetto TuoTimerTask contenga IP+porta che ti serve. Quando il run() verrà invocato, farai quello che devi fare con questi dati.Originariamente inviato da Poker1
praticamente quello che devo fare e' mettere degli indirizzi IP:Porta in questa lista e associare ad ognuno di essi un timer ( diverso ). Ogni volta che uno di questi timer scade devo inviare a quell'indirizzo un pacchetto UDP.
Quindi il TimerTask e' quello che deve essere eseguito alla scadenza del timer ?
La questione è questa. Un timer task deve essere eseguito il più velocemente possibile, altrimenti "mangia" il tempo alla gestione del timer.Originariamente inviato da Poker1
Un alta cosa, visto che e' un Task, potrei sottomettere questi task ad un thread pool? Io avevo pensato di attivare un thread ( fisso ) che attende che uno di questi timer scatti ed al suo interno attivare un pool per sottomettere i task.
Il thread fisso perche' dopo che un timer scade, parte nuovamente.
Un thread-pool accetta dei Runnable. TimerTask in effetti è-un Runnable ma non andrebbe bene passare un TimerTask al thread-pool, visto che già il run() di TimerTask è quello che viene eseguito dal Timer.
Quando il run() del tuo task viene invocato, potresti creare un oggetto che implementa Runnable e passarlo al thread-pool e sarà poi quest'ultimo Runnable a fare il "lavoro".

Rispondi quotando