erlang gen_server的一个困惑

如果用gen_server,那么必须要在启动的时候给他个名字,这个名字是为了register。可是,如果我要做一个游戏的后端,同时会有几十万上百万的gen_server进程,那么光是名字用到的atom就已经超过atom table的限制了阿(max=1048576),这要怎么办呢??难道不用gen_server??或者在启动的时候扩大atom table的最大容量(erl -t size)??但是每个atom refers 都是需要占用memory的阿??!!怎么办??

后来带着这个困惑找了一圈,原来这种情况的化就启动gen_server的时候别用local启动,而是global,这样global的命名不仅仅局限atom,可以是任意的term。

你可能感兴趣的:(erlang)