为了账号安全,请及时绑定邮箱和手机立即绑定

是否有多个进程共享侦听套接字的方法?

是否有多个进程共享侦听套接字的方法?

在套接字编程中,您将创建一个侦听套接字,然后为每个连接的客户端获得一个正常的流套接字,可用于处理该客户端的请求。操作系统管理后台的传入连接队列。默认情况下,两个进程不能同时绑定到同一端口。我想知道是否有一种方法(在任何知名的OS上,尤其是Windows上)启动进程的多个实例,以使它们全部绑定到套接字,从而有效地共享队列。每个流程实例可以是单线程的;接受新的连接时它将阻塞。当客户端连接时,一个空闲的流程实例将接受该客户端。这将允许每个进程具有非常简单的单线程实现,除非通过显式共享内存,否则不共享任何内容,并且用户将能够通过启动更多实例来调整处理带宽。是否存在这样的功能?编辑:对于那些问“为什么不使用线程?”的人 显然,线程是一个选择。但是在单个进程中有多个线程的情况下,所有对象都是可共享的,因此必须格外小心,以确保对象不是共享的,或者一次仅对一个线程可见,或者是绝对不变的,并且大多数流行的语言和运行时缺少用于管理这种复杂性的内置支持。通过启动几个相同的工作进程,您将获得一个并发系统,其中的默认设置为不共享,从而使构建正确且可伸缩的实施变得更加容易。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 970 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信