pool類
的儲存方式是:鍵值對(即josn),值是個陣列,鍵是儲存物件的類名。
新增鍵值的方法:recover(sign:string, item:object)
sign:類名、item:類的內容,該方法通過getpoolbysign(sign:string):array
來獲取對應的鍵值(如果沒有傳進來的類名值時,會建立鍵和返回乙個空陣列),呼叫getpoolbysign(sign:string)
會返回陣列在recover(sign:string, item:object)
方法中push進去。
/**
* 根據物件型別標識字元,獲取物件池。
* @param sign 物件型別標識字元。
* @return 物件池。
*/public static function getpoolbysign(sign:string):array
/*** 將物件放到對應型別標識的物件池中。
* @param sign 物件型別標識字元。
* @param item 物件。
*/public static function recover(sign:string, item:object):void
呼叫物件池中已有的物件的方法:getitembyclass(sign:string, cls:class):*
、getitembycreatefun(sign:string, createfun:function):*
和getitem(sign:string):*
。
3個方法的共同點:
有物件的空閒物件時,移除陣列最後乙個,並且會返回移除的物件。3個方法的不同點:
getitembyclass(sign:string, cls:class):*
:當沒有空閒物件時,會根據傳入的類而建立乙個新類作為返回值。
getitembycreatefun(sign:string, createfun:function):*
:當沒有空閒物件時,會根據傳入的function
而返回該function
的返回值。
getitem(sign:string):*
:當沒有空閒物件時直接返回null
。
/**
* 根據傳入的物件型別標識字元,獲取物件池中此型別標識的乙個物件例項。
* 當物件池中無此型別標識的物件時,則根據傳入的型別,建立乙個新的物件返回。
* @param sign 物件型別標識字元。
* @param cls 用於建立該型別物件的類。
* @return 此型別標識的乙個物件。
*/public static function getitembyclass(sign:string, cls:class):*
/*** 根據傳入的物件型別標識字元,獲取物件池中此型別標識的乙個物件例項。
* 當物件池中無此型別標識的物件時,則使用傳入的建立此型別物件的函式,新建乙個物件返回。
* @param sign 物件型別標識字元。
* @param createfun 用於建立該型別物件的方法。
* @return 此型別標識的乙個物件。
*/public static function getitembycreatefun(sign:string, createfun:function):*
/*** 根據傳入的物件型別標識字元,獲取物件池中已儲存的此型別的乙個物件,如果物件池中無此型別的物件,則返回 null 。
* @param sign 物件型別標識字元。
* @return 物件池中此型別的乙個物件,如果物件池中無此型別的物件,則返回 null 。
*/public static function getitem(sign:string):*
return rst;
}
pool
只能清除某個鍵中所有存放著的物件。方法是:clearbysign(sign:string):void
。
/**
* 清除物件池的物件。
* @param sign 物件型別標識字元。
*/public static function clearbysign(sign:string):void
boost的pool記憶體池
參考 boost程式庫開發完全指南 pool func eg.h pragma once include includeusing namespace boost void eg void eg object pool void eg construct void eg singleton pool...
python 程序池Pool詳情
當需要建立的子程序數量不多時,可以直接利用multiprocessing中的process動態成生多個程序,但如果是上百甚至上千個目標,手動的去建立程序的工作量巨大,此時就可以用到multiprocessing模組提供的pool方法。初始化pool時,可以指定乙個最大程序數,當有新的請求提交到poo...
nodejs之pool連線池
不使用連線池的壞處想必試過的人都已經知道了,我這裡給出乙個使用連線池的範例,實現的較為簡單,最好不要直接用。連線池範例 匯入所需模組 var mysql require mysql 匯入配置檔案 var cfg require config db var pool mysql.createpool ...