《Windows核心程式設計》讀書筆記(8)

2021-06-20 15:14:23 字數 478 閱讀 7670

第九章——執行緒與核心物件的同步

用核心物件可以實現跨程序的執行緒同步,不過速度比較慢,當呼叫核心物件相關的同步函式時,呼叫執行緒必須從使用者方式轉為核心方式。

程序、執行緒、作業、檔案修改通知、事件、可等待定時器、檔案、控制台輸入、信標和互斥物件等核心物件有兩種狀態:已通知狀態和未通知狀態,windows為每種核心物件制定了狀態切換的規則。

waitforsingleobject;//使執行緒等待,直到乙個特定的核心物件變為已通知狀態。

waitformultipleobjects;//;使執行緒等待,直到多個核心物件變為已通知狀態。

對於有些核心物件而言,在成功呼叫waitforsingleobject或者waitformultipleobjects後,系統會自動改變核心物件的狀態,這稱之為成功等待的***,不同核心物件成功等待的***是不同的,有些核心物件沒有***。

第十章執行緒同步工具包是作者提供的一些同步工具類,第十一章執行緒池和第十二章纖程作為了解。

讀書筆記 Windows核心程式設計

第二章 從windows nt後,windows所有版本都用unicode來構建。如果輸入乙個非unicom的字串,如ansi,函式會將其先轉換為unicode,再把結果傳回作業系統,這樣經過轉換後,需要更多的記憶體,而且執行速度更慢。並且,目前已知的windows的這些轉換函式存在一些bug。所有...

《Windows核心程式設計》讀書筆記(一)

第1章對程式錯誤的處理 1 常見的windows函式的返回型別 void 無返回值型,該函式的執行不可能失敗。windows函式很少此型別 bool 函式執行失敗則返回0,否則返回非0 handle 失敗則返回null,否則返回乙個可操作的物件的handle。注 有些函式會返回乙個控制代碼值inva...

《Windows核心程式設計》讀書筆記(三)

unicode 寬位元組字符集是是為了解決軟體本地化 多語言版本化 而定製的一項技術標準。unicode字串中的所有字元都是16位的 兩個位元組 程式設計師只需要對指標進行遞增或者遞減,就可以遍歷字串中的各個字元,不在需要像單位元組字元一樣去判斷下一位元組是屬於同一字元的組成部分還是乙個新字元。使用...