JDK源码解析
Runnable是一个典型命令模式,
Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法
/命令接口(抽象命令角色)
public interface Runnable {
public abstract void run();
}
//调用者
public class Thread implements Runnable {
private Runnable target;
public synchronized void start() {
if (threadStatus != 0)
throw new IllegalThreadStateException();
group.add(this);
boolean started = false;
try {
start0();
started = true;
} finally {
try {
if (!started) {
group.threadStartFailed(this);
}
} catch (Throwable ignore) {
}
}
}
private native void start0();
}
会调用一个native方法start0(),调用系统方法,开启一个线程。
而接收者是对程序员开放的,可以自己定义接收者。
/**
* jdk Runnable 命令模式
*