看下面程序,为什么两次的时间有时候会一样,中间sleep了一毫秒啊!

  public static void main(String args[]){
        System.out.println("before " + System.currentTimeMillis());
        try {
            Thread.sleep(1);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("after " + System.currentTimeMillis());
    }

currentTimeMillis
public static long currentTimeMillis()返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于基础操作系统,并且粒度可能更大。例如,[color=red]许多操作系统以几十毫秒为单位测量时间[/color]。

这个问题应该是和操作系统本身的精度有关系 啦