1:多執行緒概敘
什麼是執行緒? 執行緒(thread)是一個程式內部的一條執行路徑。 我們之前啟動程式執行後,main方法的執行其實就是一條單獨的執行路徑。 public static void main(String[] args) { // 程式碼… for (int i = 0; i < 10; i++) { System.out.println(i); } // 程式碼... } 程式中如果只有一條執行路徑,那麼這個程式就是單執行緒的程式。 多執行緒是指從軟硬體上實現多條執行流程的技術。
2:多執行緒的建立 之 方式一:繼承Thread類
Thread類 Java是透過java.lang.Thread 類來代表執行緒的。 按照物件導向的思想,Thread類應該提供了實現多執行緒的方式。 多執行緒的實現方案一:繼承Thread類 定義一個子類MyThread繼承執行緒類java.lang.Thread, 重寫run()方法 建立MyThread類的物件 呼叫執行緒物件的start()方法啟動執行緒(啟動後還是執行run方法的) 方式一優缺點: 優點:編碼簡單 缺點:執行緒類已經繼承Thread,無法繼承其他類,不利於擴充套件。
1、為什麼不直接呼叫了run方法,而是呼叫start啟動執行緒。 直接呼叫run方法會當成普通方法執行,此時相當於還是單執行緒執行。 只有呼叫start方法才是啟動一個新的執行緒執行。 2、把主執行緒任務放在子執行緒之前了。 這樣主執行緒一直是先跑完的,相當於是一個單執行緒的效果了。 方式一是如何實現多執行緒的? 繼承Thread類 重寫run方法 建立執行緒物件 呼叫start()方法啟動。 優缺點是什麼? 優點:編碼簡單 缺點:存在單繼承的侷限性,執行緒類繼承Thread後,不能繼承其他類,不便於擴充套件