執行緒:

         java是一種支援多執行緒的語言

         執行緒是程序的微量單位

        

         一般50個執行緒所佔的資源消耗相當於一個程序的消耗,

         執行緒多應用在軟體效能測試這個行業,和其他需要多執行緒工作的地方。

執行緒的兩種實現方式:

1.繼承Thread類,重寫run方法

         啟動執行緒:

                 直接建立類的物件,用物件的引用去呼叫父類的start方法

2.實現Runnable介面,重寫run方法

        啟動執行緒:

                   先建立類的物件引用,再建立執行緒的物件引用,再建立執行緒物件的時候使用有參的構造方法將類的物件引用傳入其中,然後用執行緒引用去呼叫start方法。

 

兩種方式的優缺點:

         使用介面的方式:優點:執行緒類只是實現了Runnable介面,還可以繼承其他類。在這種方式下,多個執行緒可以共享同一個target物件,所以非常適合多個相同執行緒來處理同一份資源的情況,從而可以將CPU、程式碼和資料分開,形成清晰的模型,較好地體現了面向物件的思想。缺點:程式設計稍微複雜,如果要訪問當前執行緒,則必須使用Thread.currentThread()方法。

         使用繼承的方式:優點:編寫簡單,如果需要訪問當前執行緒,則無需使用Thread.currentThread()方法,直接使用this即可獲得當前執行緒。缺點:執行緒類已經繼承了Thread類,所以不能再繼承其他父類。