Belirli bir hızda planlanmış bir Java kodu parçasının planlanmasının en kolay yolu nedir?Java Her X saniyede bir iş parçacığı
cevap
5+: Yukarıdaki yöntem tercih edilir
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
// do stuff
}
}, 0, 5, TimeUnit.SECONDS);
. Daha iyi alternatifler var olacak Birçok durumda
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// do staff
}
}, 0, 5000);
ScheduledExecutorService'u kullanarak.
Executors.newScheduledThreadPool
'a bakın. Düzenli aralıklarla çalıştırılmak üzere Runnable
s göndermenize olanak tanıyan bir ScheduledExecutorService
oluşturmanıza olanak tanır. Bir ScheduledExecutorService
ile Java
while (true) {
thread.sleep(1000)
method();
}
: Önce Java 5 Sizin Timer
ve TimerTask
kullandı. Ancak, bu yöntem() yönteminin() 1000ms + n aralıklarla yürütülmesi için en kolay yoldur (burada n,() yönteminin yürütülmesi için harcanan süre miktarıdır())
Elbette 1000 yerine, İstediğiniz milisaniye değeri. Başka bir iş parçacığının denetlediği bir bayrak üzerindeki while döngüsünü uygulamak da bir fikir olabilir; böylece programı öldürmek zorunda kalmadan döngü yürütmeyi durdurmanın bir yolu vardır. kodunun altına
neredeyse - en az 1000 olacak. İş parçacığı zamanlayıcı yeniden iş parçacığı çalıştırmaya karar verdiğinde bağlıdır. 1000 + a + n (burada, iş parçacığı yeniden etkinleştirmek için zamanlayıcıyı aldığı süredir) olacaktır. – RNJ
Kullanım:
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
public void run() {
// do your work
}
}, 0, 60*(1000*1));
- 1. Django - her x saniyede bir işlev çalıştırın
- 2. Bugün widget'ı her x saniyede bir güncellenir.
- 3. java dizisi iş parçacığı güvenliği
- 4. CertificateFactory.getInstance ("x.509") güvenli iş parçacığı mı?
- 5. Her saniyede bir komut çalıştır
- 6. Her iş parçacığı için CPU kullanımı
- 7. Java iş parçacığı güvenli kilitleme
- 8. Gelişmiş çoklu iş parçacığı - Java
- 9. , her X saniyede bir görevi Laravel ile çalıştırabilir mi?
- 10. jQuery - her x saniyede bir aşağı kaydırın, sonra yukarı kaydırın.
- 11. OutOfMemoryError ayrı bir Java iş parçacığı içinde
- 12. Her bir iş parçacığı için ayrı ayrı durum nasıl sağlanır
- 13. Bir iş parçacığı veya iş parçacığı için bir DAO DAO?
- 14. Bir "gerçek" iş parçacığı
- 15. Tarayıcıyı her X saniyede javascript ile nasıl yenilerim?
- 16. İş parçacığı için güvenlidir MessageDigest in Java
- 17. Her zaman uyumsuzluklar için iş parçacığı iş parçacıkları kullanın async
- 18. İş parçacığı tanıtıcısı iş parçacığı tanıtıcısı
- 19. iş parçacığı içinde yerel depolama iş parçacığı
- 20. Java sinyal dağıtıcısı iş parçacığı nedir?
- 21. Java - iş parçacığı yapmaktan sonra sorun yaşanıyor
- 22. Bir iş parçacığı oluşturma işlevine
- 23. Java iş parçacığı nasıl başlatılır ve yönetilir?
- 24. Python iş parçacığı dökümü
- 25. İş parçacığı güvenli Queue
- 26. iş parçacığı
- 27. Java içinde bir döngü kullanılarak birden çok iş parçacığı oluşturma
- 28. Matrisler ile Çarpımla Çoğalt (her bir iş parçacığı tek çarpar)
- 29. Bir Java akışını varsayılan iş parçacığı sayısıyla nasıl işlerim?
- 30. Django/sqlite3 "OperationalError: iş parçacığı yok" iş parçacığı üzerinde
ne uygulamanın ana penceresini kapatmak olur? Bu görev hala çalışıyor mu? – Tomasz