给定一个实现runnable接口的类
public class MyRunnable implements Runnable {
public void run() {
try {
Thread.sleep(1000);
System.out.println("ok");
} catch (InterruptedException e) {}
}
}
当我们运行以下代码时
public class Run {
public static void main(String[] args){
Thread t = new Thread(new MyRunnable());
t.start();
}
}
我不明白我们如何从run方法中调用sleep
类的静态方法Thread
。它看起来像 magic ......我发现很难直观地了解实际情况。
我的假设是,由于Thread
实例包含对MyRunnable
实例的引用,Thread.sleep()
方法是对调度程序的调用?可以解析调用,因为它可以推断从哪个线程调用此方法,允许调度程序暂停线程?