【发布时间】:2014-04-10 11:07:30
【问题描述】:
我的问题很简单。
我应该将 GoRoutines 用于非常简单的 REST API 吗?
我基本上只对数据库进行简单查询、验证会话或登录。这些操作是否值得设置 GoRoutine? GoRoutines 什么时候有用,我应该如何设置它们?
【问题讨论】:
我的问题很简单。
我应该将 GoRoutines 用于非常简单的 REST API 吗?
我基本上只对数据库进行简单查询、验证会话或登录。这些操作是否值得设置 GoRoutine? GoRoutines 什么时候有用,我应该如何设置它们?
【问题讨论】:
net/http 包已经为您解决了这个问题。一旦您致电Serve(或更可能是ListenAndServe),就会发生以下情况:
Serve 在监听器 l 上接受传入的 HTTP 连接,为每个连接创建一个新的服务 goroutine。服务 goroutine 读取请求,然后调用处理程序来回复它们。 Handler 通常为 nil,在这种情况下使用 DefaultServeMux。
请参阅http://golang.org/pkg/net/http/ 了解更多信息。
如果请求触发需要更长的处理时间并且您不想让客户端等待,您可能需要另一个 goroutine。
【讨论】: