Elixir/Erlang 并发状态访问

Elixir/Erlang concurrent state access

如何从 erlang 或 elixir 中的一堆进程组织并行访问数据(例如 ETS table)? 在传统模型中,我会创建 RWLock 并使关键部分尽可能小。因此,我至少可以通过并行读取访问 hash-table 。 在 erlang 中,第一个想法是在状态中存储 table 的实现 gen_server。但是所有访问都将被序列化。如何处理才能更快地服务?

使用直接访问 :ets and specify read_concurrency: true in call to :ets.new/2

GenServer在这里是多余的link,可能成为瓶颈。