COM+ 對象池服務可以減少從頭創建每個對象的系統開銷。
基本介紹
- 中文名:對象池
- 外文名:Object pool
- 減少:從頭創建每個對象的系統開銷
- 創建:在同一執行緒上進行
- 實施:最小值和最大值
簡介,創建,注意,
簡介
對象池中包含若干提前準備好的若干實例,當需要時從對象池中提取,當不需要時,則重新放入對象池。
一方面,使用對象池不需要頻繁的產生和銷毀實例對象,另一方面,對象池中的實例如果不夠程式調用才會繼續產生實例,這大大節省了性能。
例如,FPS遊戲中的敵人、子彈等都可以使用對象池。
創建
使用連線池時,創建在同一執行緒上進行,因此如果池中沒有連線,則代表您創建連線。採用對象池時,池可以決定創建新對象。但是,如果已經達到最大數量,它會給您下一個可用的對象。當需要花費較長時間來創建對象時,這的確是一個重要的行為。但不要長期使用這種方法來創建對象。
最小值和最大值的實施
不在連線池中實施。對象池的最大值在嘗試縮放應用程式時很重要。可能需要僅為幾個對象而復用成千上萬個請求。(TPC/C 基準依賴這一功能。)
COM+ 對象池與 .NET Framework 託管 SQL 客戶端連線池幾乎完全相同。例如,創建在不同的執行緒上進行,並強制實施最小值和最大值。