Пакет java.util.concurrent
предлагает простую, прочную основу для такой работы.
Вот простой пример кода, который будет работать:
import java.util.concurrent.*;
public static void main(String[] args)
{
ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
// Here's an anonymous class, but your should probably create a class for this
Runnable poll = new Runnable()
{
public void run()
{
// put your polling code here
}
};
// Have your code called every 5 seconds like this:
service.scheduleAtFixedRate(poll, 0, 5, TimeUnit.SECONDS);
}