Elixir 进程管理全解析
1. 进程注册
在很多情况下,进程标识符(pids)足以用来查找和联系进程。但有时,我们需要创建一些更易于查找的进程。Elixir 提供了一个极为简单的进程注册系统,只需指定一个原子和一个 pid,任何想要访问该注册进程的进程都可以使用这个原子来找到它。这使得向系统中添加新进程并让其与现有进程建立连接变得更加容易。
1.1 注册进程
要注册一个进程,可使用 Process.register/2 内置函数。第一个参数是进程的 pid,第二个参数是一个原子,也就是为进程分配的名称。注册完成后,就可以使用这个原子而不是 pid 来向进程发送消息。示例代码如下:
iex(1)> pid1 = spawn(Bounce, :report, [1])
#PID<0.39.0>
iex(2)> Process.register(pid1, :bounce)
true
iex(3)> send(:bounce, :hello)
:hello
Received 1: hello
iex(4)> send(:bounce, "Really?")
Received 2: Really?
"Really?"
1.2 错误处理
- 调用不存在的进程 :如果尝试调用不存在(或已崩溃)的进程,会得到一个参数错误。
iex(5)&
超级会员免费看
订阅专栏 解锁全文
9

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



