Elixir语言中 Registry.lookup
相关用法介绍如下。
用法:
lookup(registry, key)
(从 1.4.0 开始)
@spec lookup(registry(), key()) :: [{pid(), value()}]
在 registry
中查找给定 key
的 {pid, value}
对,顺序不限。
如果没有匹配项,则为空列表。
对于唯一的注册表,单个分区查找是必要的。对于重复的注册表,必须查找所有分区。
例子
在下面的示例中,我们注册当前进程并从自身和其他进程中查找它:
iex> Registry.start_link(keys: :unique, name: Registry.UniqueLookupTest)
iex> Registry.lookup(Registry.UniqueLookupTest, "hello")
[]
iex> {:ok, _} = Registry.register(Registry.UniqueLookupTest, "hello", :world)
iex> Registry.lookup(Registry.UniqueLookupTest, "hello")
[{self(), :world}]
iex> Task.async(fn -> Registry.lookup(Registry.UniqueLookupTest, "hello") end) |> Task.await()
[{self(), :world}]
这同样适用于重复的注册表:
iex> Registry.start_link(keys: :duplicate, name: Registry.DuplicateLookupTest)
iex> Registry.lookup(Registry.DuplicateLookupTest, "hello")
[]
iex> {:ok, _} = Registry.register(Registry.DuplicateLookupTest, "hello", :world)
iex> Registry.lookup(Registry.DuplicateLookupTest, "hello")
[{self(), :world}]
iex> {:ok, _} = Registry.register(Registry.DuplicateLookupTest, "hello", :another)
iex> Enum.sort(Registry.lookup(Registry.DuplicateLookupTest, "hello"))
[{self(), :another}, {self(), :world}]
相关用法
- Elixir Registry.count_match用法及代码示例
- Elixir Registry.unregister_match用法及代码示例
- Elixir Registry.register用法及代码示例
- Elixir Registry.values用法及代码示例
- Elixir Registry.put_meta用法及代码示例
- Elixir Registry.keys用法及代码示例
- Elixir Registry.start_link用法及代码示例
- Elixir Registry.unregister用法及代码示例
- Elixir Registry.delete_meta用法及代码示例
- Elixir Registry.count用法及代码示例
- Elixir Registry.meta用法及代码示例
- Elixir Registry.select用法及代码示例
- Elixir Registry.update_value用法及代码示例
- Elixir Registry.match用法及代码示例
- Elixir Registry用法及代码示例
- Elixir Regex.run用法及代码示例
- Elixir Regex.names用法及代码示例
- Elixir Regex.named_captures用法及代码示例
- Elixir Regex.match?用法及代码示例
- Elixir Regex.escape用法及代码示例
- Elixir Regex用法及代码示例
- Elixir Regex.compile用法及代码示例
- Elixir Regex.split用法及代码示例
- Elixir Regex.source用法及代码示例
- Elixir Regex.replace用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Registry.lookup(registry, key)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。