百科问答小站 logo
百科问答小站 font logo



在同一个进程中,能否在一个线程用一个epoll大循环管理多个UdpServer+TcpServer? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

可以。

实践上,在某些特定场景下也会有实际价值:

例如说探活/心跳服务。这类服务需要同时应付极大量的客户,而且自身消耗的资源尽可能少(毕竟不是复杂的业务功能服务)。但具体每个请求都特别短,处理起来也特别简单。用这种模式可以极大减少无意义的并发切换开销,简化处理流程,同时也能提高稳定性和可靠性。

另外就是在这基础上还可以扩展一下:通常情况下这么维持心跳。极偶然会有些需要复杂处理的指令(例如说一些客户端的异常状态上报),就fork一个短进程出来单独处理。

总之,这类架构有种短小精致的“古典美”。作为学习用途比较多,不太符合当前主流的发展思路,实际大规模应用得比较少,但在某些特定场景还是能简单这样的遗存的。




  

相关话题

  国家为什么要把国企等企业电脑全部换成Linux环境?能不能从专业的角度分析一下? 
  为什么桌面领域没有一款 Linux 或 UNIX 能与 Windows 鼎足而立? 
  WSL发展如此迅速,有没有可能会在未来替代原生Linux? 
  Linux下有什么真正断电可靠的文件系统? 
  关于Linus和Mac OS X内核, 《Linus Torvalds 的短视》这篇文章的真实性如何? 
  Intel 为什么会成为 Linux 内核最大的贡献者? 
  elasticsearch 部署在windows, 还是在linux? 
  是什么让 Ubuntu 选用 Qt 而不是 GTK? 
  关于Socket API的设计? 
  Linux命令行输入whereis mysqlm,没有返回结果,请问怎么回事? 

前一个讨论
python中用isdigit函数判断是否为数字,但当输入为负数是不行?怎么解决?
下一个讨论
大连幼师称望疫情不停被列失信人员,搞不懂,这和失信有啥关系呢?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利