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


Elixir Registry.unregister用法及代码示例


Elixir语言中 Registry.unregister 相关用法介绍如下。

用法:

unregister(registry, key)
(从 1.4.0 开始)
@spec unregister(registry(), key()) :: :ok

注销与 registry 中的当前进程关联的给定 key 的所有条目。

如果没有更多与当前进程关联的键,则始终返回 :ok 并自动取消当前进程与所有者的链接。另请参阅 register/3 以了解有关 "owner" 的更多信息。

例子

对于唯一注册表:

iex> Registry.start_link(keys: :unique, name: Registry.UniqueUnregisterTest)
iex> Registry.register(Registry.UniqueUnregisterTest, "hello", :world)
iex> Registry.keys(Registry.UniqueUnregisterTest, self())
["hello"]
iex> Registry.unregister(Registry.UniqueUnregisterTest, "hello")
:ok
iex> Registry.keys(Registry.UniqueUnregisterTest, self())
[]

对于重复的注册表:

iex> Registry.start_link(keys: :duplicate, name: Registry.DuplicateUnregisterTest)
iex> Registry.register(Registry.DuplicateUnregisterTest, "hello", :world)
iex> Registry.register(Registry.DuplicateUnregisterTest, "hello", :world)
iex> Registry.keys(Registry.DuplicateUnregisterTest, self())
["hello", "hello"]
iex> Registry.unregister(Registry.DuplicateUnregisterTest, "hello")
:ok
iex> Registry.keys(Registry.DuplicateUnregisterTest, self())
[]

相关用法


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