《Win32多執行緒程式設計》學習筆記 (1)

2021-04-13 09:33:15 字數 1062 閱讀 1844

最近開始看《

win32

多執行緒程式設計》

,感覺受益匪淺,寫出來的目的有兩個;一是想看看自己理解的程度,能否總結出作者真正想表達的內容。

2是與大家共享。好了,廢話就不說那麼多了!

文章開始講述了作業系統的演化,作者從早期的

ms-dos1.0

版本單任務系統到

2.x的可以允許常駐程式(

tsr),但是

ms-dos

視其為自己的一部分,不是乙個應用程式或是乙個程序。隨後提及到了擁有合作型多工及搶占式多工機制的

windows

的不同版本! ?

faq01

:合作型多工與搶占式多工有什麼不同

---------

合作型多工的意思就是說分享

cpu是程式的責任,而不是系統的責任,如果有乙個程式決定咬住

cpu不放,其他程式就沒有辦法得到執行。搶占式多工的意思就是作業系統能夠強迫應用程式把

cpu分享給其他人,程式設計師不需要額外的努力!

下面介紹

2個概念,讓我們對程序與執行緒有乙個大體的了解: 程序

---從

win32

的角度看,程序含有記憶體和資源。資源包括核心物件(如

file handles

和執行緒),

user

資源(如對話方塊和字串),

gdi資源等。程序本身不可以執行,他只是提供乙個安置記憶體和執行緒的地方。 記憶體

-------

每乙個程序都關係到記憶體。大致分為3類

code  data  stack .

code---

程式的可執行部分,一定是唯讀性質。這是

cpu唯一可以執行的記憶體。

data

是你的程式中所有變數,可以區分為全域性變數和靜態變數兩種。也可以使用

malloc

和new

動態配置記憶體。

stack

是你呼叫函式時所用的堆疊空間,其中有區域性變數。每個執行緒產生時配有乙個堆疊。如果不需要,作業系統會將其動態擴充。所有的記憶體對程序中的執行緒都是可用的

win32多執行緒程式設計

使用3個執行緒完成6個任務,工作的執行是靠呼叫sleep 來模擬,時間長度是隨機給予的,只要乙個執行緒結束,就會有另乙個執行緒被產生。taskques.cpp 定義控制台應用程式的入口點。include stdafx.h include include include define win32 le...

Win32 多執行緒程式設計

程序和執行緒都是作業系統的概念 程序是應用程式的執行例項 每個程序是由私有的虛擬位址空間 資料和其它各種系統資源組成 程序在執行過程中建立的資源隨著程序的終止而被銷毀 所使用的系統資源在程序終止時被釋放或關閉 執行緒是程序內部的乙個執行單元 系統建立好程序後 實際上就啟動執行了該程序的主執行執行緒 ...

讀書筆記 Win32多執行緒程式設計 1

很早就想系統的看看多執行緒方面的書籍,逮到機會 1。多執行緒的簡單定義 使程式得以將其工作分開,獨立運作,不互相影響。2。多執行緒的最眾所周知的應用場景 執行大量操作是,ui死掉。3。執行緒歷史 dos 單程序單執行緒,tsr實際並不是多執行緒,tsr只是可以將程式看作是系統的一部分。但是,如果格式...