package simple.cpu; public class WaitingTest { public static Object mutex = new Object(); public WaitingTest() { } public void method1000_500() { long time=System.currentTimeMillis(); while ((System.currentTimeMillis()-time) < 250); time=System.currentTimeMillis(); synchronized(mutex) { try { mutex.wait(250); } catch (InterruptedException ex) { ex.printStackTrace(); } } System.out.println("wait for "+(System.currentTimeMillis()-time)); time=System.currentTimeMillis(); while ((System.currentTimeMillis()-time) < 250); try { Thread.sleep(250); } catch (InterruptedException ex) { } } public static void main(String[] args) { WaitingTest test=new WaitingTest(); for (int i=0;i < 4;i++) { test.method1000_500(); } } }