---------------------- ASP.Net+Android+IO開發S、.Net教育訓練、期待與您交流! ----------------------
一個程序至少一個線程。
同一個程序中多個線程之間可以“并發”執行(這裡并不是真正的并發,而是cpu在來回的切換,隻是切換的太快了,讓你以為是在并發)。
程序包含有存儲器、動态堆、靜态資料與程式代碼。
線程是程式中的一個執行流,每個線程都有自己的專有寄存器(棧指針、程式計數器等),但代碼區是共享的,即不同的線程可以執行同樣的函數。
多線程是指程式中包含多個執行流,即在一個程式中可以同時運作多個不同的線程來執行不同的任務(代碼),也即允許單個程式建立多個并行執行的線程來完成各自的任務。
建立多線程
//建立線程對象 傳入要線程執行的方法
Thread threadFirst = new Thread(CountTime);
//将線程設定為背景線程
threadFirst.IsBackground = true;
//啟動線程執行方法
threadFirst.Start();
産生一個線程的4步驟:
1)編寫産生線程所要執行的方法;
2)引用System.Threading的命名空間;
3)執行個體化Thread類,并傳入一個指向線程所要運作的方法的委托(這時候線程已經産生,但還沒有運作);
4)調用Thread執行個體的Start方法,标記該線程可以被cpu執行,但具體執行時間由cpu決定。
前台線程:隻有所有的前台線程都關閉才能完成程式關閉。
背景程式:隻要所有的前台線程結束,背景線程自動結束。
---------------------- ASP.Net+Android+IO開發S、.Net教育訓練、期待與您交流! ----------------------