Erlang非常善于通过不共享状态来清理事物。但是当你想要共享状态时会发生什么?例如:配置选项,统计信息收集,事件/回调服务器。使用某些记录作为状态或使用进程字典生成新进程是实现共享状态的一种方法。您可以反复循环该过程并回复任何消息。多个进程将使用基本上不纯的getter和setter函数来查询该进程,这些函数包含消息传递,但是在这里我们只是将Erlang变成一个比java对象慢的不纯对象,因为减少系统轮流比只有每个全局状态周围的内存互斥体。如果我们不小心,它甚至可能有邮箱溢出。
那么如果你想要快速共享状态,你会怎么做? Reddis,一个数据库,mnesia,产生循环状态?你如何在erlang中使集中状态变得更加纯粹?