У меня есть этот простой фрагмент кода:
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(10);
Runnable r = new Runnable() {
@Override
public void run() {
System.err.println(Calendar.getInstance().getTime());
}
};
exec.scheduleAtFixedRate(r,0, 500, TimeUnit.MILLISECONDS);
}
На одной машине этот код работает как положено. Выход консоли:
Однако на другой машине отметка времени на консоли показывает, что ScheduledThreadPoolExecutor опаздывает.Под опозданием я подразумеваю пару секунд:)
Сведения о первой машине, на которой успешно выполняется код:
i3 Виндовс 7 64 бит JRE 1.6.0.30
Сведения о второй машине, на которой планирование задерживается:
Двухъядерный Windows ХР 32 бит JRE 1.6.0.18
Интересно, почему такая разница. Какие-либо предложения ?
Заранее спасибо.