Elixir并发编程与Haskell函数式思维
1. Elixir并发编程基础
Elixir并发编程中,Actor模型是核心概念。Actor模型历史悠久,本质是独立、异步的参与者,它们仅通过相互发送消息进行通信,且参与者之间没有共享状态。
在Elixir里,Actor被称为进程。可以使用 spawn 函数创建新进程,用 <- 操作符发送消息,使用 receive 表达式接收消息。
以下是创建进程的示例代码:
# elixir/spawn1.exs
process_id = spawn fn ->
IO.puts "In process #{inspect self()}"
end
IO.puts "Spawned process #{inspect process_id}"
spawn 函数将传入的函数作为一个单独的进程运行,并返回进程ID(pid)。在Elixir中, self 函数可返回当前进程的pid。运行上述代码,输出顺序可能不同,这取决于进程调度器。
另一种创建进程的方式:
# elixir/spawn2.exs
process_id = fn -> IO.puts "In process #{inspect self()}" end |> spawn
IO.puts "Spa
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



