net/http根据http://golang.org/pkg/net/http/#Server.Serve的文档,Go的HTTP服务器(中的)会按请求为每个请求生成一个goroutine(不是线程)-
服务在侦听器l上接受传入连接,为每个连接创建一个新的服务goroutine。服务goroutine读取请求,然后调用srv.Handler对其进行回复。
其他语言可以通过多种方式处理此问题,包括:
- 基于事件的架构ala node.js 1和
- 多个进程和/或线程(或两者),其中“管理器”根据正在阻止的(和没有阻止的)在活动线程之间切换
我建议阅读https://www.digitalocean.com/community/tutorials/a-comparison-of-rack-
web-servers-for-ruby-web-
applications,以了解一些Ruby
Web服务器的工作方式示例事物(包括上述方法),以及适用于Python的https://www.digitalocean.com/community/tutorials/a-comparison-
of-web-servers-for-python-based-web-
applications,其中应包括洞察力。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)