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 中