gpt4 book ai didi

c - 什么时候最好编写单线程事件服务器等

转载 作者:行者123 更新时间:2023-11-30 18:05:42 24 4
gpt4 key购买 nike

什么时候编写单线程事件、多线程或 fork 服务器更好?哪种方法更适合:

  1. 提供静态数据的网络服务器
  2. 向其他 http 服务器提供静态数据和代理请求的 Web 服务器
  3. 上一个加上此服务器使用 C 语言编写一些逻辑,而无需关注硬盘或网络
  4. 之前的 plus 向 MySQL 发出了一些请求?

例如,语言是C/C++。我非常想了解这个问题。谢谢。

最佳答案

鉴于现代处理器是多核的,您应该始终假设它在某些时候可能是多线程的(使事情尽可能可重入,并且在不可能的情况下,使用可以轻松插入的接口(interface))来编写代码。执行必要锁定的实现。

如果您的每秒查询数 (qps) 相当少,那么您也许可以使用单线程事件服务器。不过,如果您增加 qps 并需要处理更多事件,我仍然建议以允许多线程的方式编写代码。

单线程服务器可以通过将其转换为 fork 服务器来扩展;然而, fork 服务器使用更多资源——当使用 fork 服务器时,所有请求共用的任何内存最终都会在内存中重复,而在单个多线程服务器中只需要该数据的一份副本。此外,如果多线程服务器利用真正的并行性并且实际上可以并行执行单个请求处理的多个部分,则它可以提供较低的延迟。

关于c - 什么时候最好编写单线程事件服务器等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com