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


erlang demonitor(MonitorRef, OptionList)用法及代碼示例


demonitor(MonitorRef, OptionList) -> boolean()
類型:
MonitorRef = reference()
OptionList = [Option]
Option = flush | info

返回值是 true 除非 infoOptionList 的一部分。

demonitor(MonitorRef, [])相當於 demonitor(MonitorRef).

Option s:


flush

監視停止後,從調用者消息隊列中刪除(一條){_, MonitorRef, _, _, _} 消息(如果有)。

調用demonitor(MonitorRef, [flush])相當於以下內容,但效率更高:

demonitor(MonitorRef),
receive
    {_, MonitorRef, _, _, _} ->
        true
after 0 ->
        true
end

info

返回值是以下之一:


true

監視器被發現並被拆除。此時,該監視器對應的'DOWN'消息尚未下發,也不會下發。


false

未找到監視器且無法移除。這可能是因為有人已經將與此監視器對應的 'DOWN' 消息放入調用者消息隊列中。

如果選項 info 與選項 flush 組合,則在需要刷新時返回 false,否則返回 true

改變

未來版本中可以添加更多選項。

失敗:


badarg
如果OptionList不是列表。

badarg
如果Option 是無效選項。

badarg
與以下相同的失敗demonitor/1.

相關用法


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