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