Erlang非常擅長通過不共享狀態來清理事物。但是當你想要共享狀態時會發生什麼?例如:配置選項,統計信息收集,事件/回調服務器。用一些記錄作爲狀態或使用流程字典產生一個新的進程是一種完成共享狀態的方法。你會反覆循環該過程並回復任何消息。多個進程將使用什麼本質上不純的getter和setter函數來遍歷消息傳遞來查詢該進程,但是在這裏我們只是將Erlang變成了一個比java對象慢的不純對象,這是因爲減少系統輪流比僅僅擁有更慢每個全局狀態周圍的內存互斥。如果我們不小心,它甚至有可能發生郵箱溢出。當你需要Erlang的高性能共享狀態時,你會做什麼?
那麼,如果你想要快速共享狀態,你該怎麼做? Reddis,一個數據庫mnesia,會產生循環狀態?你如何讓集中狀態在erlang中更加純粹的功能?
對不起 - 你爲什麼用「elixir」標記這個問題? –
因爲它是一樣的虛擬機 – BreezyChick89
這是如何影響你的問題?添加joxa標籤是否合適?如何喝口香糖的Erlang?如果你的問題是關於Erlang這是它應該在其上的唯一標籤。 –