gpt4 book ai didi

http - 事件循环与多线程阻塞 IO

转载 作者:可可西里 更新时间:2023-11-01 15:05:28 24 4
gpt4 key购买 nike

我正在阅读有关服务器架构的评论。

http://news.ycombinator.com/item?id=520077

在此评论中,此人说了三件事:

  1. 事实证明,事件循环一次又一次地在大量低事件连接方面真正发挥作用。
  2. 相比之下,与事件循环相比,具有线程或进程的阻塞 IO 模型一再被证明可以减少每个请求的延迟。
  3. 在负载较轻的系统上,差异是无法区分的。在负载下,大多数事件循环选择减速,大多数阻塞模型选择卸载。

这些都是真的吗?

还有另一篇文章,标题为“为什么事件是一个坏主意(对于高并发服务器)”

http://www.usenix.org/events/hotos03/tech/vonbehren.html

最佳答案

通常,如果应用程序需要处理数百万个连接,您可以将多线程范例与基于事件的范例结合起来。

  1. 首先,生成 N 个线程,其中 N == 机器上的内核/处理器数量。每个线程都有一个它应该处理的异步套接字列表。
  2. 然后,对于来自接受器的每个新连接,将新套接字“负载平衡”到具有最少套接字的线程。
  3. 在每个线程中,对所有套接字使用基于事件的模型,以便每个线程实际上可以“同时”处理多个套接字。

通过这种方法,

  1. 您永远不会产生一百万个线程。您的系统可以处理多少就多少。
  2. 您使用基于事件的多核而不是单核。

关于http - 事件循环与多线程阻塞 IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953428/

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