前幾天,在寫遊戲邏輯時,需要在不同的代碼塊中引用我寫的邏輯模塊(以下簡稱C模塊)來對玩家數據進行修改。由於對skynet理解不夠,多模塊中調用自己寫的邏輯時,例如:A模塊調用C,B模塊也調用C,我在C模塊中多次對數據庫進行了操作,以便可以讓不同的模塊能操作到同一組數據。
經理看了我的代碼之後,對我進行了指導,作此記錄:
1.每個agent都是一個獨立的虛擬機。
2.在一個虛擬機中,引用同一塊代碼後,再次引用會直接返回,並引用到同一塊代碼。(A引用C,B引用C,最後會共享同一塊C代碼,所以在C中可以直接用變量存貯玩家數據,不用每次都從數據庫中讀取)