JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法
生活随笔
收集整理的这篇文章主要介绍了
JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
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 命令模式* TurnOffThread : 属于具体*/ public class TurnOffThread implements Runnable{private Receiver receiver;public TurnOffThread(Receiver receiver) {this.receiver = receiver;}public void run() {receiver.turnOFF();} } *** 测试类*/ public class Demo {public static void main(String[] args) {Receiver receiver = new Receiver();TurnOffThread turnOffThread = new TurnOffThread(receiver);Thread thread = new Thread(turnOffThread);thread.start();} }
总结
以上是生活随笔为你收集整理的JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: JDK源码解析 InputStream类
- 下一篇: JDK源码解析 Comparator 中