Java-進階篇【多執行緒、網路程式設計、Junit單元測試、反射、註解、動態代理、XML、XML解析、XPath、設計模式】---08

至高无上10086發表於2024-05-23

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後,不能繼承其他類,不便於擴充套件

相關文章