草庐IT

dotnet 使用 NamedPipeClientStream 连接一个不存在管道服务名将不断空跑 CPU 资源

本文记录一个开发和代码审查过程中,需要关注的细节。在dotnet里,在.NET6和以下版本,包括.NETFramework版本,使用NamedPipeClientStream进行连接管道服务,如果此时的管道服务没有存在,或者还没有启动,调用ConnectAsync或Connect方法,将会进入一个循环,不断进行空跑,等待超时或者是连接上。默认的ConnectAsync或Connect方法,传入的超时时间都是无穷,也就是将会无限重试,不断消耗CPU资源咱可以使用NamedPipeClientStream去连接一个管道服务,从而建立多进程之间的通讯。在连接时,最好是先有管道服务启动,然后再启动管道

dotnet 使用 NamedPipeClientStream 连接一个不存在管道服务名将不断空跑 CPU 资源

本文记录一个开发和代码审查过程中,需要关注的细节。在dotnet里,在.NET6和以下版本,包括.NETFramework版本,使用NamedPipeClientStream进行连接管道服务,如果此时的管道服务没有存在,或者还没有启动,调用ConnectAsync或Connect方法,将会进入一个循环,不断进行空跑,等待超时或者是连接上。默认的ConnectAsync或Connect方法,传入的超时时间都是无穷,也就是将会无限重试,不断消耗CPU资源咱可以使用NamedPipeClientStream去连接一个管道服务,从而建立多进程之间的通讯。在连接时,最好是先有管道服务启动,然后再启动管道
12