當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir Kernel.spawn_link用法及代碼示例


Elixir語言中 Kernel.spawn_link 相關用法介紹如下。

用法一

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

生成給定函數,將其鏈接到當前進程,並返回其 PID。

通常,開發人員不使用 spawn 函數,而是使用 Task GenServer Agent 等抽象,它們構建在 spawn 之上,從而在自省和調試方麵產生更方便的進程。

查看 Process 模塊了解更多process-related 函數。有關鏈接的更多信息,請查看 Process.link/1

匿名函數接收 0 個參數,並且可以返回任何值。

由編譯器內聯。

例子

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

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

用法二

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

從給定的 module 生成給定的函數 fun 並將給定的 args 傳遞給它,將其鏈接到當前進程,並返回其 PID。

通常,開發人員不使用 spawn 函數,而是使用 Task GenServer Agent 等抽象,它們構建在 spawn 之上,從而在自省和調試方麵產生更方便的進程。

查看 Process 模塊了解更多process-related 函數。有關鏈接的更多信息,請查看 Process.link/1

由編譯器內聯。

例子

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

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Kernel.spawn_link(fun)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。