waittest.java
来自「kaffe Java 解释器语言,源码,Java的子集系统,开放源代码」· Java 代码 · 共 80 行
JAVA
80 行
class WaitTest implements Runnable{ static final long TOLERANCE = 100; private final Object waiter; WaitTest(Object waiter) { this.waiter = waiter; } public void run() { synchronized( this.waiter ) { try { Thread.sleep(500); } catch(InterruptedException e) { } this.waiter.notifyAll(); } } public static void main(String args[]) throws Exception { Object waiter = new Object(); long start, actual, end; synchronized( waiter ) { final long time = 500; start = System.currentTimeMillis(); waiter.wait(time); end = System.currentTimeMillis(); actual = end - start; if( (actual > (time - TOLERANCE)) && (actual < (time + TOLERANCE)) ) { System.out.println("Okie"); } else { System.out.println("Fail"); } } new Thread(new WaitTest(waiter)).start(); synchronized( waiter ) { final long time = 500; start = System.currentTimeMillis(); waiter.wait(Long.MAX_VALUE); end = System.currentTimeMillis(); actual = end - start; if( (actual > (time - TOLERANCE)) && (actual < (time + TOLERANCE)) ) { System.out.println("Okie"); } else { System.out.println("Fail " + end + " - " + start + " = " + actual); } } }}/* Expected Output:OkieOkie*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?