Windows程序設(shè)計(jì)
整理和Windows應(yīng)用
內(nèi)存池基本
摘要: 1、為什么使用內(nèi)存池?
通常我們習(xí)慣直接使用new、malloc等API申請分配內(nèi)存,這樣做的缺點(diǎn)在于:由于所申請內(nèi)存塊的大小不定,當(dāng)頻繁使用時會造成大量的內(nèi)存碎片并進(jìn)而降低性能。
閱讀全文
posted @
2011-10-11 08:45 Yu_ 閱讀(439) |
評論 (0) 編輯
線程池的使用(轉(zhuǎn))
摘要: 為什么要使用線程池:
創(chuàng)建多線程應(yīng)用程序是非常困難的。需要會面臨兩個大問題。
一個是要對線程的創(chuàng)建和撤消進(jìn)行管理,另一個是要對線程對資源的訪問實(shí)施同步 。
閱讀全文
posted @
2011-10-10 09:25 Yu_ 閱讀(864) |
評論 (0) 編輯
線程與內(nèi)核對象的同步
摘要: 若干種內(nèi)核對象,包括進(jìn)程,線程和作業(yè)。可以將所有這些內(nèi)核對象用于同步目的。對于線程同步來說,這些內(nèi)核對象中的每種對象都可以說是處于已通知或未通知的狀態(tài)之中。
例如::當(dāng)進(jìn)程正在運(yùn)行的時候,進(jìn)程內(nèi)核對象處于未通知狀態(tài),當(dāng)進(jìn)程終止運(yùn)行的時候,它就變?yōu)橐淹ㄖ獱顟B(tài)。進(jìn)程內(nèi)核對象中是個布爾值,當(dāng)對象創(chuàng)建時,該值被初始化為FALSE(未通知狀態(tài))。當(dāng)進(jìn)程終止運(yùn)行時,操作系統(tǒng)自動將對應(yīng)的對象布爾值改為TRUE,表示該對象已經(jīng)得到通知。當(dāng)線程終止運(yùn)行時,操作系統(tǒng)會自動將線程對象的狀態(tài)改為已通知狀態(tài)。因此,可以將相同的方法用于應(yīng)用程序,以確定線程是否不再運(yùn)行。
閱讀全文
posted @
2011-10-08 00:10 Yu_ 閱讀(417) |
評論 (0) 編輯
線程通信與同步
摘要: 線程需要在下面兩種情況下互相進(jìn)行通信:
? 當(dāng)有多個線程訪問共享資源而不使資源被破壞時。
? 當(dāng)一個線程需要將某個任務(wù)已經(jīng)完成的情況通知另外一個或多個線程時。
閱讀全文
posted @
2011-10-07 23:58 Yu_ 閱讀(433) |
評論 (0) 編輯
線程
摘要: 1、線程的組成
(1)、一個是線程的內(nèi)核對象,操作系統(tǒng)用它管理線程。內(nèi)核對象還是系統(tǒng)用來存放線程統(tǒng)計(jì)信息的地方。
(2)、一個線程堆棧,用于維護(hù)線程執(zhí)行時所需的所有函數(shù)參數(shù)和局部變量。
閱讀全文
posted @
2011-10-07 23:10 Yu_ 閱讀(270) |
評論 (0) 編輯
進(jìn)程間通信與同步
摘要: 討論三個問題:
1、進(jìn)程間如何通信呢,如何來相互傳遞信息呢?
(1)、低級通信:只能傳遞狀態(tài)和整數(shù)值(控制信息)
–信號量(semaphore)
–信號(signal)
(2)、高級通信:能夠傳送任意數(shù)量的數(shù)據(jù)
–共享內(nèi)存(shared memory)
–消息傳遞(message passing)
–管道(pipe)
閱讀全文
posted @
2011-10-07 15:44 Yu_ 閱讀(1395) |
評論 (0) 編輯
進(jìn)程管理
摘要: 1、什么是進(jìn)程?
::一般將進(jìn)程定義成一個正在運(yùn)行的程序的一個實(shí)例。進(jìn)程由兩部分組成:
①、一個內(nèi)核對象,操作系統(tǒng)用它來管理進(jìn)程。內(nèi)核對象也是系統(tǒng)保存進(jìn)程統(tǒng)計(jì)信息的地方。
②、一個地址空間,其中包含所有執(zhí)行體(executable)或DLL模塊的代碼和數(shù)據(jù)。此外,它還包含動態(tài)內(nèi)存分配,比如線程堆棧和堆的分配。
閱讀全文
posted @
2011-10-07 11:19 Yu_ 閱讀(427) |
評論 (0) 編輯
內(nèi)核對象
摘要: 1、什么是內(nèi)核對象?
內(nèi)核對象的數(shù)據(jù)結(jié)構(gòu)只能由內(nèi)核訪問。
他們有:令牌(access token)對象、事件對象、文件對象、文件映射對象、I/O完成端口對象、作業(yè)對象、mailslot對象、mutex對象、pipe對象、進(jìn)程對象、semaphore對象、線程對象、waitable timer對象以及thread pool worker factory對象等等。大多數(shù)成員都是不同的對象類型特有的。
閱讀全文
posted @
2011-10-06 17:27 Yu_ 閱讀(799) |
評論 (0) 編輯