Elixir語言中 Process.send_after
相關用法介紹如下。
用法:
send_after(dest, msg, time, opts \\ [])
@spec send_after(pid() | atom(), term(), non_neg_integer(), [option]) :: reference()
when option: {:abs, boolean()}
在 time
毫秒後將 msg
發送到 dest
。
如果dest
是一個PID,它必須是一個本地進程的PID,不管是死的還是活的。如果dest
是一個原子,它必須是在交付時查找的已注冊進程的名稱。如果名稱不引用進程,則不會產生錯誤。
消息不會立即發送。因此,即使 time
是 0
,dest
也可以接收其他消息 in-between。
此函數返回一個計時器引用,可以使用
讀取或使用 read_timer/1
取消。cancel_timer/1
如果給定的dest
是一個不活動的 PID 或給定的 PID 退出時,計時器將自動取消。請注意,當dest
是原子時,計時器不會自動取消(因為原子解析是在交付時完成的)。
由編譯器內聯。
選項
:abs
- (布爾值)當false
,time
被視為相對於當前單調時間。當true
時,time
是 Erlang 單調時間的絕對值,此時msg
應該傳遞給dest
。要閱讀更多關於 Erlang 單調時間和其他與時間相關的概念,請查看System
false
。
例子
timer_ref = Process.send_after(pid, :hi, 1000)
相關用法
- Elixir Process.send用法及代碼示例
- Elixir Process.sleep用法及代碼示例
- Elixir Process.spawn用法及代碼示例
- Elixir Process.monitor用法及代碼示例
- Elixir Process.demonitor用法及代碼示例
- Elixir Process.delete用法及代碼示例
- Elixir Process.whereis用法及代碼示例
- Elixir Process.group_leader用法及代碼示例
- Elixir Process.put用法及代碼示例
- Elixir Process.registered用法及代碼示例
- Elixir Process.register用法及代碼示例
- Elixir Process.get用法及代碼示例
- Elixir Process.exit用法及代碼示例
- Elixir Process.unregister用法及代碼示例
- Elixir Process.get_keys用法及代碼示例
- Elixir Process.list用法及代碼示例
- Elixir Protocol.extract_protocols用法及代碼示例
- Elixir Protocol.consolidate用法及代碼示例
- Elixir Protocol.derive用法及代碼示例
- Elixir Protocol用法及代碼示例
- Elixir Protocol.extract_impls用法及代碼示例
- Elixir Path.basename用法及代碼示例
- Elixir Path.rootname用法及代碼示例
- Elixir Path.type用法及代碼示例
- Elixir Path.split用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Process.send_after(dest, msg, time, opts \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。