黑馬程式設計師15 多執行緒筆記

2021-06-09 23:56:29 字數 1568 閱讀 4644

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

windows phone 7手機開發、.net培訓

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

依據程式寫法,程式至少要有乙個程序,因為cpu通過程序同程式打交道

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

同乙個程序中的多個執行緒之間可以「併發執行」

執行緒是程式中的乙個執行流,每個執行緒都有自己的專有儲存器(棧指標、程式計數器等),但是**區是共享的,及不同的執行緒可以執行相同的函式。

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

1)請人做事==啟動乙個執行緒

2)讓他做什麼 == 通過委託呼叫

微軟建立執行緒類的時候不知道你要進行什麼操作,

所以需要你自己把要做的事傳給執行緒(要做的事寫成方法,然後通過委託把方法傳進執行緒)

為什麼用多執行緒

cpu通過呼叫程序來執行**,**執行時被載入到執行緒(thread)上。

在乙個程序(process)裡面,通過把**載入到乙個執行緒(thread)來執行。

應用程式啟動時候,cpu會自動建立乙個程序和乙個執行緒,這個執行緒是ui執行緒——也是預設執行緒——也是主線程。

1)利用多處理核心cpu的處理能力

2)讓乙個程式「同時」做多件事情

3)提高程式執行效率

4)後台執行程式,提供程式的執行效率,防止程式主介面失去響應(唯一的執行緒幹其他事情去了,導致對你的互動沒反應)

使用多執行緒過程

0)引入system.threading空間

0)編寫要執行的方法 == 做什麼 == 定義counttimes方法

1)thread

firstthread = 

new thread

(counttimes); //請人做counttimes這個事情,括號內是把方法賦給下面兩個委託之一,firstthread呼叫委託

2)firstthread.start();//標記執行緒可執行,具體時間有cpu確定

question:

thread類執行緒能接受

parameterizedthreadstart

和threadstart

無返回值的委託。如果呼叫的方法有返回值怎麼辦。

前台執行緒和後台執行緒

firstthread.isbackgroud=true; //新執行緒設定為後台程序,這樣如果(所有)前台程序關閉後,後台程序即使沒執行完,也會關閉.

firstthread.start();

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

windows phone 7手機開發、.net培訓

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

詳情請檢視

黑馬程式設計師 多執行緒

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

黑馬程式設計師 多執行緒

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

黑馬程式設計師 多執行緒

asp.net android ios開發 net培訓 期待與您交流!多執行緒為什麼要用多執行緒?1 讓計算機 同時 做多件事情,節約時間。2 後台執行程式,提高程式的執行效率,也不會使主介面出現無響應的情況。3 多執行緒可以讓乙個程式 同時 處理多個事情。4 計算機cpu 大部分時間處於空閒狀態,...