1. 程式人生 > >Java.lang.Runnable 介面

Java.lang.Runnable 介面

Runnable是傳統建立執行緒的藉口,想要建立一個執行緒可執行例項,需要實現Runnable介面或者繼承Thread類。
Runnable只有一個抽象的run()方法,此方法是在執行時有JVM呼叫,每一個執行期的Runnable實現類例項(包括Thread的子類,因為Thread亦是實現了Runnable介面)都對應於作業系統中的一個執行緒,所以說Java中的執行緒只是作業系統執行緒的一個對映,Java中執行緒的執行效率也不可能高於底層語言執行緒,因為Java中執行緒的建立和呼叫需要經過JVM,JVM再向下呼叫(JNI的方式與特定平臺進行通訊)。
JDK1.8中將Runnable標記為@FunctionalInterface函數語言程式設計介面:

// Java 8之前:
    new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println("Before Java8, too much code for too little to do");
        }
    }).start();
//Java 8方式:
    new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();