用法一
bind(chnl::Channel, task::Task)
將chnl
的生命周期與任務相關聯。 Channel
chnl
在任務終止時自動關閉。任務中任何未捕獲的異常都會傳播給 chnl
上的所有服務員。
chnl
對象可以獨立於任務終止顯式關閉。終止任務對已關閉的 Channel
對象沒有影響。
當一個通道綁定多個任務時,第一個終止的任務將關閉通道。當多個通道綁定到同一個任務時,任務的終止將關閉所有綁定的通道。
例子
julia> c = Channel(0);
julia> task = @async foreach(i->put!(c, i), 1:4);
julia> bind(c,task);
julia> for i in c
@show i
end;
i = 1
i = 2
i = 3
i = 4
julia> isopen(c)
false
julia> c = Channel(0);
julia> task = @async (put!(c, 1); error("foo"));
julia> bind(c, task);
julia> take!(c)
1
julia> put!(c, 1);
ERROR: TaskFailedException
Stacktrace:
[...]
nested task error: foo
[...]
用法二
bind(socket::Union{TCPServer, UDPSocket, TCPSocket}, host::IPAddr, port::Integer; ipv6only=false, reuseaddr=false, kws...)
將 socket
綁定到給定的 host:port
。請注意,0.0.0.0
將偵聽所有設備。
ipv6only
參數禁用雙堆棧模式。如果ipv6only=true
,則僅創建 IPv6 堆棧。- 如果
reuseaddr=true
,如果多個線程或進程都設置了reuseaddr=true
,則它們可以毫無錯誤地綁定到同一個地址,但隻有最後一個綁定的進程才能接收任何流量。
相關用法
- Julia bind方法用法及代碼示例
- Julia binomial()用法及代碼示例
- Julia binomial用法及代碼示例
- Julia bitstring用法及代碼示例
- Julia break用法及代碼示例
- Julia bswap用法及代碼示例
- Julia bytesavailable用法及代碼示例
- Julia begin用法及代碼示例
- Julia bytes2hex用法及代碼示例
- Julia splice!用法及代碼示例
- Julia @cfunction用法及代碼示例
- Julia LibGit2.count用法及代碼示例
- Julia LinearAlgebra.BLAS.dot用法及代碼示例
- Julia sizeof()用法及代碼示例
- Julia :<=用法及代碼示例
- Julia zero()用法及代碼示例
- Julia rem用法及代碼示例
- Julia ...用法及代碼示例
- Julia setfield()用法及代碼示例
- Julia rpad用法及代碼示例
- Julia sort用法及代碼示例
- Julia tail用法及代碼示例
- Julia cis方法用法及代碼示例
- Julia SparseArrays.spdiagm用法及代碼示例
- Julia Distributed.procs方法用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.bind — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。