原创 轉載:異步IO、APC、IO完成端口、線程池與高性能服務器之一 異步IO

背景:輪詢 PIO DMA 中斷     早期IO設備的速度與CPU相比,還不是太懸殊。CPU定時輪詢一遍IO設備,看看有無處理要求,有則加以處理,完成後返回繼續工作。至今,軟盤驅動器還保留着這種輪詢工作方式。    隨着CPU性能的迅速

原创 VC中使用系統提供的線程池(Thread Pooling)

在項目裏經常用到多線程,大量的客戶向服務器提出請求,這時需要開闢線程來響應客戶請求,由於客戶量是不可預知的,難道來一個客戶請求就新開個線程來響應嗎?答案是否定的,要知道開闢和撤消線程是需要耗費相當多時間和資源的,於是前輩們弄出了很多模型出

原创 抽象工廠模式

抽象工廠模式是所有形態的工廠模式中最爲抽象和最具一般性的一種形態。抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向客戶端提供一個接口,使用客戶端在不必指定產品的具體的情況下,創建多個產品族中的產品對象。 當有多個

原创 數 據 庫 設 計 經 驗 談

數據庫模型的設計是否合理會極大影響系統的使用性能。筆者依據多年來設計和使用數據庫的經驗,提出以下一些設計原則,供同仁們參考。         慎用遊標(Cursor)         遊標提供了對特定集合中逐行掃描的手段,一般使用遊標來逐

原创 在應用環境中如何構造最優的數據庫模式 (1)

數據庫設計(Database Design)的概念:數據庫設計是指對於一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。 (在數據庫領域內,經常把使用

原创 線程中CreateEvent和SetEvent及WaitForSingleObject的用法

線程中CreateEvent和SetEvent及WaitForSingleObject的用法 首先介紹CreateEvent是創建windows事件的意思,作用主要用在判斷線程退出,程鎖定方面. CreateEvent 函功能描述:創建

原创 結構型模式

結構型模式:          結構型模式涉及到如何組合類和對象以獲得更大的結構。結構型模式採用繼承機制來組合接口或實現。結構型對象模式不是對接口和實現進行組合,而是描述瞭如何對一些對象進行組合,從而實現新功能的一些方法。因爲可以在運行時

原创 行爲模式

行爲模式:          行爲模式涉及到算法和對象間職責的分配。行爲模式不僅描述對象和類得模式,還描述它們之間的通信模式。這些模式刻畫了在運行時難以跟蹤的複雜的控制流。他們將你的注意力從控制流轉移到對象間的聯繫方式上來。    

原创 單例模式(Singleton)

一、什麼是單例模式: 單例模式確保某一個類只有一個實例,而且向這個系統提供這個實例。 二、單例模式的要點:     1、某個類只能有一個實例     2、它必須自行創建這個實例     3、必須自行向這個系統提供這個實例 三、單例模式的結

原创 vc如何創建 線程池

有許多應用程序創建的線程花費了大量時間在睡眠狀態來等待事件的發生。還有一些線程進入睡眠狀態後定期被喚醒以輪詢工作方式來改變或者更新狀態信息。線程池可以讓你更有效地使用線程,它爲你的應用程序提供一個由系統管理的工作者線程池。至少會有一個線程

原创 MFC處理excel的有用的小函數

1、求excel列號函數 col 值爲1-無窮大 CString ConvertToLetter( int col ){    col -= 1;    int nRemainder = col%26;    int nMultiple

原创 內聚和耦合

內聚(Cohesion)是一個模塊內部各成分之間相關聯程度的度量。耦合(Coupling)是模塊之間依賴程度的度量。內聚和耦合是密切相關的,與其它模塊存在強耦合的模塊通常意味着弱內聚,而強內聚的模塊通常意味着與其它模塊之間存在弱耦合。模塊

原创 非誠勿擾2

你見,或者不見我我就在那裏不悲不喜你念,或者不念我情就在那裏不來不去你愛,或者不愛我愛就在那裏不增不減你跟,或者不跟我我的手就在你手裏不捨不棄來我的懷裏或者讓我住進你的心裏    默然  相愛寂靜  歡喜 You meet me, or

原创 轉載:關於DPC和APC

當驅動程序處理IRP的時候,它可能立刻完成,也可能在中斷裏才能完成,比如說,往硬件設備發出一個請求(通常可以是寫I/O port),當設備完成操作的時候會觸發一箇中斷,然後在中斷處理函數裏得到操作結果。Windows有兩類中斷,硬件設

原创 C#多線程

線程是程序中獨立的指令流。 C#中線程是使用Thread類來處理的,該類在System.Threading命名空間中。一個Thread實例標識一個線程,即執行序列。實例化一個Thread對象,就可以創建另一個線程。 示例: void Ch