多線程簡單入門

多線程簡單入門

一.線程和進程有什麼區別?

進程相當於N個線程。例如每個軟件啓動後就相當於一個進程,裏面每個模塊就相當於每個線程。

總結:進程是線程的集合,每一個線程是進程中的一條執行路徑。

二.爲什麼要用多線程?

多線程可以提高程序的效率。

三.應用場景?

分批執行某個任務;迅雷、網盤等多線程下載。

四.多線程的運行狀態?

五.多線程有哪幾種實現方式?

     繼承Thread類;實現Runnable接口;使用匿名內部類。均需要重寫run方法。

      注:使用run方法時是不能throw拋異常的,需要使用try/catch去捕獲異常

       一般用實現RUnnable接口創建線程比較好,因爲繼承Thread類後不可再繼承,實現Runnable接口後還可以繼承。

  1. 繼承Thread類。代碼:

運行結果:

注:線程1、2同時執行,根據cup資源隨機分配執行

   2.實現Runnable接口,代碼

 注:運行結果和繼承Thread類類似,實現Runnable接口開啓線程要強轉爲Thread,因爲Runnable接口是Thread的實現類。實現Runnable接口用Thread.currentThread().getName(),currentThread()方法獲取線程對象,getId()獲取線程id是JVM底層分配getName()獲取線程名稱,打印日誌時一定要打印線程id,方便bug查看

3.使用匿名內部類創建線程,代碼:

運行結果:

注:該博客單純只是學習筆記,如有錯誤希望大佬指出,謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章