【发布时间】:2018-08-21 11:57:09
【问题描述】:
我想知道如何杀死/停止 goroutine。所有示例都基于通道和选择,这似乎仅在 goroutine 包含一些可以在通道上监听的重复任务时才有效。有没有办法在下面的 goroutine 返回之前停止它?
package main
import (
"time"
)
func main() {
stop := make(chan string, 1)
go func() {
time.Sleep(10 * time.Second)
stop <- "stop"
return
}()
<- stop
}
【问题讨论】: