什么是 Goroutine?你如何停止它?

参考解析

一个 Goroutine 是一个函数或方法执行同时旁边其他任何够程采用了特殊的 Goroutine线程。Goroutine 线程比标准线程更轻量级,大多数 Golang 程序同时使用数千个 Goroutine。

要创建 Goroutine,请go在函数声明之前添加关键字。

  1. go f(x, y, z)

您可以通过向 Goroutine 发送一个信号通道来停止它。Goroutines 只能在被告知检查时响应信号,因此您需要在逻辑位置(例如for循环顶部)包含检查。

  1. package main
  2. func main() {
  3. quit := make(chan bool)
  4. go func() {
  5. for {
  6. select {
  7. case <-quit:
  8. return
  9. default:
  10. // …
  11. }
  12. }
  13. }()
  14. // …
  15. quit <- true
  16. }