Erlang VM 上でユニークな数値を生成する
voluntas
Posted on January 21, 2020
Erlang/OTP 18.x から erlang:now/0 が使えなくなった。では Erlang VM 上でのユニークな値をどうやって生成するのか。
方法
erlang:unique_integer/0,1 を使用する。
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Eshell V7.2.1 (abort with ^G)
1> erlang:unique_integer([positive, monotonic]).
1
2> erlang:unique_integer([positive, monotonic]).
2
このまま +1 ずつ加算されていく。この値はメモリが許す限り増えていく。
erlang:unique_integer/1 で positive と monotonic を指定することで、 Erlang VM 上で保証される連番が生成される。これは様々なプロセスから生成したとしてもユニークが保証されている。もちろん Erlang VM 上で、なので複数ノードとかでは保証されない。
もっと詳しく知りたい
詳細はこれを読めば良い。
💖 💪 🙅 🚩
voluntas
Posted on January 21, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
undefined Unsafe Impedance: Safe Languages and Safe by Design Software, by Lee Barney and Adolfo Neto
November 2, 2024
rabbitmq RabbitMQ with Web MQTT Plugin vs. Node.js : Performance and Memory Usage Comparison
October 29, 2024
elixir New to dev.to and Excited to Share ProxyConf: My Elixir-Powered API Control Plane
October 25, 2024