用法一
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。