gpt4 book ai didi

multithreading - 基于 Go 的 http 包构建的 Web 应用程序是否作为使用多个线程处理传入请求的单个进程工作?

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:36 24 4
gpt4 key购买 nike

我读到 Go 应用程序使用内置 Web 服务器直接从客户端接收连接,而不是在 Apache 等 Web 服务器后面运行。此外,我还阅读了网络服务器(例如 Apache)使用由 fork() 创建的多个进程处理传入请求的信息。对于 Go 应用程序也是如此,还是它在单个进程上运行并通过多个线程处理传入请求?

最佳答案

Go 应用程序通常使用 net/http 包来实现 Web 服务器。 documentation for that package说:

Serve accepts incoming HTTP connections on the listener l, creating a new service goroutine for each. The service goroutines read requests and then call handler to reply to them.

Goroutines 被安排在一个或多个操作系统线程上。

这个包没有使用fork。

关于multithreading - 基于 Go 的 http 包构建的 Web 应用程序是否作为使用多个线程处理传入请求的单个进程工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57082848/

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