7
scala中管理對象池的首選方式是什麼?管理對象池的scala-way
我需要創建和刪除單線程大型對象(不需要同步)。在C++中,我使用了靜態對象的數組。
在scala中應對它的慣用和有效的方法是什麼?
scala中管理對象池的首選方式是什麼?管理對象池的scala-way
我需要創建和刪除單線程大型對象(不需要同步)。在C++中,我使用了靜態對象的數組。
在scala中應對它的慣用和有效的方法是什麼?
我會將它包裝在一個Actor中。如果你不熟悉,檢查出阿卡:http://doc.akka.io/docs/akka/2.0.3/scala/actors.html
角色模型讓您能夠保證單線程訪問,因爲演員處理傳入消息一次一個。這導致了actor內部非常簡單的代碼和一個非常簡單的API。
地道的方法是讓gc做它的工作,而不用擔心它。如果這還不夠快,那麼地道的事情就是調整GC。 –
爲什麼你認爲你需要一個對象池?你嘗試過依賴GC作爲第一次嘗試嗎?初始化/重置池對象的開銷是多少? – paradigmatic
我在寫一個粒子系統。一顆顆粒活得快而且年輕。事實上,有大量的粒子這樣做。對付它的最顯着的方式似乎是創建一個對象池,因爲所有粒子在屬性和字段方面都是相同的。 – ayvango