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


Elixir Kernel.spawn_monitor用法及代码示例


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

用法一

spawn_monitor(fun)
@spec spawn_monitor((() -> any())) :: {pid(), reference()}

生成给定函数,监视它并返回它的 PID 和监视参考。

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

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

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

由编译器内联。

例子

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

用法二

spawn_monitor(module, fun, args)
@spec spawn_monitor(module(), atom(), list()) :: {pid(), reference()}

生成传递给定参数的给定模块和函数,监视它并返回其 PID 和监视引用。

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

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

由编译器内联。

例子

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

相关用法


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