Qual è il modo più semplice per programmare un pezzo di codice Java a una determinata velocità?Thread Java ogni X secondi
risposta
In Java 5+ con un ScheduledExecutorService
:
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
// do stuff
}
}, 0, 5, TimeUnit.SECONDS);
Il metodo di cui sopra è favorita. Prima di Java 5 è stato utilizzato Timer
e TimerTask
:
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// do staff
}
}, 0, 5000);
Utilizzando un ScheduledExecutorService.
Dai un'occhiata allo Executors.newScheduledThreadPool
. Ti permetterà di creare un ScheduledExecutorService
che ti permette di inviare Runnable
s da eseguire ad intervalli regolari.
while (true) {
thread.sleep(1000)
method();
}
In molti casi ci saranno alternative migliori. Ma questo è il modo più semplice per implementare un'esecuzione regolare del metodo() ad un intervallo di 1000 ms + n (dove n è la quantità di tempo impiegato metodo di esecuzione())
Ovviamente invece di 1000, è possibile mettere qualsiasi valore millisecondo desiderato. Potrebbe anche essere un'idea per implementare il ciclo while su un flag controllato da un altro thread; in modo che ci sia un modo per fermare l'esecuzione del ciclo senza dover uccidere il programma.
quasi - sarà almeno 1000. Dipende quando il programma di pianificazione dei thread decide di riavviare il thread. Sarà 1000 + a + n (dove a è il tempo impiegato dallo scheduler per riattivare il thread) – RNJ
Uso sottostante Codice:
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
public void run() {
// do your work
}
}, 0, 60*(1000*1));
- 1. Ricarica JPanel ogni X secondi (con discussioni?)
- 2. Animate SVG elemento ogni x secondi
- 3. Esegui la funzione specificata ogni X secondi
- 4. stato di aggiornamento ogni x secondi
- 5. Funzione Javascript per ricaricare una pagina ogni X secondi?
- 6. Esegui un'operazione ogni x secondi per y minuti in C#
- 7. Come cambio l'immagine di sfondo ogni X secondi?
- 8. jQuery come rendere l'evento si verifica ogni x secondi?
- 9. cambio immagine ogni 30 secondi -
- 10. Come sospendere il thread corrente per 20 secondi in java?
- 11. Ripeti animazione ogni 3 secondi
- 12. Per ogni x ... Prossimi vs. Per ogni x ... Avanti x
- 13. Esegui codice ogni 10 secondi ma inizia anche 0 secondi
- 14. Timer in Java Thread
- 15. TIMEZONE_CHANGED intento ricevuto ogni pochi secondi
- 16. espressione Cron ogni 50 secondi in quarzo
- 17. comando Esegui cURL ogni 5 secondi
- 18. Scattare foto in Android ogni 5 secondi
- 19. come programmare chiamate ajax ogni N secondi?
- 20. Query MySQL riavviata ogni 60 secondi?
- 21. Cron jobs - da eseguire ogni 5 secondi
- 22. Core Bluetooth: CBPeripheral disconnette ogni ~ 10 secondi
- 23. Emacs - Salvataggio automatico buffer ogni 5 secondi
- 24. Chiamare una funzione ogni 60 secondi
- 25. Eseguire un file batch ogni x numero di secondi utilizzando PowerShell
- 26. Come aggiornare il widget di oggi in rapido ogni x secondi
- 27. Come faccio ad aggiornare il browser ogni X secondi con javascript?
- 28. Timer C# che scatta ogni X secondi, ma rimane sincronizzato in tempo reale (cioè senza deriva)
- 29. Come chiamare un metodo ogni x secondi in Objective-C usando NSTimer?
- 30. jQuery - scorrere verso il basso ogni x secondi, quindi scorrere verso l'alto
cosa succede se chiudo la finestra principale dell'applicazione? questo compito sarà ancora in esecuzione? – Tomasz