1.什麼是執行緒?什麼是多執行緒?
2.執行緒出現在**?
3.如何使用執行緒?
1.什麼是執行緒?
我不想像教科書寫的那樣理解,站在作業系統的角度,執行緒就是能夠被cpu排程的最小執行單元.說到這裡不得不說程序,
在windows中.開啟任務管理器看見的那些.exe都是程序.程序占有系統資源.有**空間,有記憶體空間.當程序申請資源被批准時,他就會佔據這些硬體資源,乙個程序開啟,會有乙個主線程.如果在該程序中再建立其它的子執行緒,那們它和主線程就是兄弟執行緒.它們在同乙個程序中.因此他們共享程序的資源,同一儲存空間,不同是他們的所要完成的工作不同.即**不同.
站在**的角度來講,就是呼叫系統的api建立執行緒.執行一些自定義的方法或者函式.當然站在這個微觀角度,我們要考慮如何管理這些執行緒.建立,執行,終止以及同步問題.執行緒我們呼叫api函式就可以建立.具體建立什麼樣的執行緒,那你就得多看看api文件.建立完成,接著設為runable(可執行)狀態.注意:執行緒最終被cpu排程是由作業系統決定的 .在**裡面,只是將其設為可執行狀態.當cpu時間片分配給該執行緒.它才是真正的執行.時間片完了,執行緒可能會被掛起.當執行緒體執行完畢,執行緒一般就會自動終止了,我們也可以人為的操作.
試想當我們建立很多執行緒的時候.都在等待等cpu分配時間片.所以就不確定誰先執行,在這個時間片內它的執行緒體能執行完嗎?這就涉及到同步問題 .這就好像我正在吃飯,你卻也過來吃我碗裡的,假設同時只能乙個人在吃.這個時候飯被你吃完了,當我在再去吃的時候發現飯沒了.如果飯變成錢那問題就大了.
只到所有的人都通知到了.然後我會處於空閒狀態.這個時候等待的時間明顯減少.只等他們送東西來啦 .
2.執行緒出現在**?
執行緒通常都是在程序裡存活 的.因為執行緒不占有系統資源,想在系統裡執行,就得在程序裡,使用它的程序空間的資源記憶體,**空間等.乙個程序通常有乙個主線程.是由系統自動呼叫的.一般的程式都會有乙個程式入口.那就是由系統裡主線程呼叫的.
3.如何使用執行緒來完成我們的任務呢?(今天就學習到這裡)
modern operating system
name: eric.liu
qq : 334986493
e-mail:[email protected]
多執行緒技術應用(一)
dyt jcbk 1 900 2018 9 16 using system using system.collections.generic using system.linq using system.text using system.threading namespace threadtest...
多執行緒技術 一 執行緒概述
程序 是應用程式的乙個執行例程,是應用程式的一次動態執行過程。執行緒 是程序中的乙個執行單元 是作業系統分配cpu時間的基本單元。windows是乙個支援多執行緒的系統。乙個程序可以包含若干個執行緒。多執行緒的概念 多執行緒 在同一時間執行多個任務的功能,稱為多執行緒或自由執行緒。多執行緒的優點 可...
多執行緒技術
1,程序 執行緒 程序 系統中同時執行的不同程式 執行緒 程式中同時執行不同的操作 單個cpu只能按順序執行指令,cpu可以隨機在不同的程序和執行緒進行切換,保證程序和執行緒都執行一遍後再重複這個過程。因為cpu執行速度足夠快,讓人感覺程式是同時執行的。2,執行緒 thread thread sle...