黑馬程式設計師 多執行緒原理基礎筆記(九)

2021-06-18 18:58:55 字數 1625 閱讀 4030

---------------------- 

asp.net+android+io開發s、

.net培訓、期待與您交流! ----------------------

程序與執行緒

乙個程序至少有乙個執行緒

同乙個程序中有多個執行緒可以併發執行

每一格程序有乙個儲存器,執行緒執行**。每乙個執行緒有乙個暫存器

執行緒是程式的乙個執行流,每個執行緒都有自己的轉悠暫存器(棧指標,程式計數器等),但**區是共享的,即不同的執行緒可以執行同樣的函式。

多執行緒是指程式中包含多個執行流,即在乙個程式中可以同時執行多個不同的執行緒結束執行不同的任務(**),也就是說允許單個程式建立多個並行執行的執行緒來完成各自的任務。

執行緒執行時需要**,所以要產生乙個執行緒,必須先為執行緒寫乙個方法。

執行緒啟動時,通過委託呼叫該方法。

執行緒啟動時,呼叫傳過來的委託,委託就會執行相應的方法,實現執行緒執行方法。

cpu通過執行緒**,也可以說**被執行時就是乙個執行緒。

預設執行緒(主線程):ui執行緒。

為什麼用多執行緒:

讓計算機同時做多件事情,節約時間

後台執行程式,,提高程式的執行效率,也不會使主介面出現無響應的情況。

多執行緒可以讓乙個程式同時處理多個事情

計算機cpu大部分時間處於空閒狀態,浪費了cpu資源。

threadstart委託。

建立執行緒物件,傳入要執行緒執行的方法

using system.threading;

thread th

=new thread(

方法);

th.start();

datetime begin

=datetime.now;

timespan end

=begin.subtract(datetime.now);

--現在的時間減去開始的時間,

產生執行緒的4格步驟:

編寫產生執行緒所要執行的方法

引用system.threading命名空間

例項化thread類,並傳入乙個指向所要執行方法的委託。(這時候執行緒已經產生,但還未執行)。

呼叫thread例項化的start方法,標記該執行緒可以被cpu執行了,但具體執行時間由cpu決定,。

前台執行緒:只有所有的前台執行緒都關閉才能完成程式關閉(預設為前台執行緒)

後台執行緒:只有所有的前台執行緒結束後,後台執行緒自動結束。

將執行緒設定為後台執行緒:

th.isbackground

=true;

啟動執行緒

start();

終止執行緒

abort();

靜態方法,可以使當前執行緒停止一

段時間執行。

thread.sleep(

1);

name:執行緒名。

獲得當前的執行緒引用

thread.currentthread;

執行緒執行帶引數的方法,方法引數型別為object,th.start(引數).

--------------------- 

asp.net+android+ios開發

、.net培訓

、期待與您交流! -----------------------

黑馬程式設計師 C 多執行緒基礎筆記

asp.net android ios開發 net培訓 期待與您交流!一.前台執行緒和後台執行緒 start 啟動執行緒 abort 終止執行緒 thread.sleep 1 靜態方法,可以使當前執行緒停止一段時間執行.name執行緒名 thread.cuurrentthread獲得當前的執行緒引用...

黑馬程式設計師 多執行緒

windows phone 7手機開發 net培訓 期待與您交流!一 程序與執行緒 l 程序 乙個執行的程式就是乙個程序,程序包括執行中的程式和程式需要用到的記憶體和系統資源 乙個程序至少有乙個執行緒,乙個程序中多個執行緒可以併發執行 l 執行緒 程式中的乙個執行流,每個執行緒都有自己的專有暫存器 ...

黑馬程式設計師 多執行緒

asp.net android io開發 net培訓 期待與您交流!執行緒與程序的關係 乙個程式就相當於乙個程序 乙個程序至少有乙個執行緒 同乙個程序中的多個執行緒之間可以 併發 執行 執行緒 1 乙個執行緒一次只能完成乙個任務 2 多執行緒方法重入 cpu是不斷的在多個執行緒之間來回切換執行的 3...