0
|
RichyDavisWindow3 · 技术社区 · 6 年前 |
![]() |
1
4
除了从调用处理程序返回读或写错误之外,执行GO例程将不会自动处理清理较长时间运行的操作,但GO提供了处理此问题的好方法。 首先,如果你不熟悉 context package -这是一种功能强大且惯用的同步go例程和取消行为的方法,我强烈建议您阅读博客 Go Concurrency Patterns: Context 是的。 大致如下:
或者你可以用 CloseNotifier 接口A http.ResponseWriter 此外,还可以执行类似于以下简单示例的操作:
或者,结合使用两种方法的简单示例:
|
![]() |
2
1
如果读取或写入连接时出错,或者请求或响应头指示应关闭连接,则从处理程序返回时每个连接goroutine将退出。 处理程序可以使用 Context 从返回 Request.Context() 是的。 |
![]() |
Jordan · 处理条件异步函数返回数据的惯用方法是什么? 7 年前 |
|
user5682282 · 从其他线程读取值 7 年前 |
![]() |
Omer Akhter · 通过通道发送指针 7 年前 |
![]() |
kmad1729 · goroutine阻塞和非阻塞使用 7 年前 |
![]() |
Cadel Watson · 在一定时间内从goroutine接收值 7 年前 |
![]() |
Terry Pang · 当涉及多个通道时,select如何工作? 7 年前 |
|
mrjd · Goroutine不运行 7 年前 |