当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir Kernel.spawn用法及代码示例


Elixir语言中 Kernel.spawn 相关用法介绍如下。

用法一

spawn(fun)
@spec spawn((() -> any())) :: pid()

生成给定函数并返回其 PID。

通常,开发人员不使用 spawn 函数,而是使用 Task GenServer Agent 等抽象,它们构建在 spawn 之上,从而在自省和调试方面产生更方便的进程。

查看 Process 模块了解更多process-related 函数。

匿名函数接收 0 个参数,并且可以返回任何值。

由编译器内联。

例子

current = self()
child = spawn(fn -> send(current, {self(), 1 + 2}) end)

receive do
  {^child, 3} -> IO.puts("Received 3 back")
end

用法二

spawn(module, fun, args)
@spec spawn(module(), atom(), list()) :: pid()

从给定的 module 生成给定的函数 fun 并传递给定的 args 并返回其 PID。

通常,开发人员不使用 spawn 函数,而是使用 Task GenServer Agent 等抽象,它们构建在 spawn 之上,从而在自省和调试方面产生更方便的进程。

查看 Process 模块了解更多process-related 函数。

由编译器内联。

例子

spawn(SomeModule, :function, [1, 2, 3])

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Kernel.spawn(fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。