如果我将本地节点作为Node.spawn/2
的参数,似乎它们都产生了Erlang进程。还有什么吗?
答案 0 :(得分:1)
首先没有Process.spawn/1
。
有:
Kernel.spawn{1,3}
,delegated to :erlang.spawn
,Node.spawn{2,3,4,5}
,delegated to :erlang.{spawn,spawn_opt}
和Process.spawn{2,4}
delegated to :erlang.spawn_opt
。当我丢弃了指向 Elixir 和 erlang 的文档的整个链接以及指向实现的链接时,您可以遵循这些链接并确保所有其中有一个语义糖,可以使用本地 erlang 本地或远程调用来生成 erlang 进程。
答案 1 :(得分:0)
spawn_opt(Module, Function, Args, Options),
spawn_opt(Node, Module, Function, Args, Options)
您能发现区别吗? 当然,如果您在spawn_opt / 5中将Node指定为node(),则它与调用spaw_opt / 4相同,但不是poin,spawn_opt / 4更有可能调用spawn_opt / 5并将node()作为第一个arg。