我正在用 golang 编写一个简单的 web api,其中包含 crud 操作(从数据库读取和写入)。作为其中的一部分,我是否需要为每个处理程序启动一个 go 例程,HandleFunc或者服务器 api 是否通过HandleFunc. 如果我需要启动一个单独的 go 例程,我假设我必须使用缓冲通道来发送信号,以及如何确保使用正确的上下文将请求发送回正确的客户端。如果这是一个基本问题,我很抱歉,但我来自 nodejs 背景,这是自动处理的。
1 回答

哔哔one
TA贡献1854条经验 获得超8个赞
是的,每个处理程序都运行在一个 goroutine 上。您需要使用互斥锁或通道来管理对共享资源的访问。本文展示了如何以非常实用的方式管理并发:https ://eli.thegreenplace.net/2019/on-concurrency-in-go-http-servers/
- 1 回答
- 0 关注
- 134 浏览
添加回答
举报
0/150
提交
取消