1. 程式人生 > 實用技巧 >複習多執行緒基礎

複習多執行緒基礎

1.執行緒和程序的區別關係

首先要了解程序和執行緒,就要先了解什麼是程式,程式就是指令集和資料的有序集合,其本身並沒有執行的含義,是一個靜態資源.
程序:程序是程式執行一次的過程,他是一個動態概念,是系統分配資源的一個單位.
執行緒 :通常一個程序中可以包含多個執行緒,一個程序至少含一個執行緒,執行緒是cpu排程和執行的單位…
其實真正的多執行緒指的是多核cpu,如果模擬出來的多執行緒,即在單核伺服器下,同一個時間點,只能執行一行程式碼,只不過cpu切換速度很快.造成執行多執行緒的錯覺.

建立執行緒有三種方式

  1. 第一種:繼承Thread類
  2. 實現runnable介面
  3. 實現Callable介面

執行緒開啟不一定馬上執行,由cpu排程決定.但可以設定優先順序

實現介面和實現類的對比:
Thread:

  1. 繼承具備多執行緒的能力
  2. 啟動執行緒,通過類的start()方法呼叫.
  3. 缺點是隻能單繼承,由侷限性.不推薦使用

Runable:

  1. 實現介面具備多執行緒的能力
  2. 啟動執行緒,通過new Thread(實現介面的類名),相當於靜態代理
  3. 推薦使用該方法,避免了局限性,方便同一個物件被多個物件使用.

相當於一個資源,多個代理

2.執行緒的五大狀態

建立,就緒,死亡,擁堵,執行;
在這裡插入圖片描述