// Test that Thread.sleep() is accurate // and that nanoTime actually measures in nanoseconds. public class Thread_Sleep_2 { public static void main(String args[]) { try { boolean ok = true; for (int i = 0; i < 100; i++) { long start = System.nanoTime(); Thread.sleep(10); long end = System.nanoTime(); if ((end - start) < 10000000) { System.out.print ("failed, iteration "); System.out.print (i); System.out.print (", time "); System.out.print (end - start); System.out.println ("ns"); ok = false; } } if (ok) System.out.println ("ok"); } catch (InterruptedException x) { System.out.println("error: Thread interrupted."); } } }