什么是 Goroutine ?又该如何停止它?

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

Goroutine 创建

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

go foo(x, y, z)

Goroutine 停止

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

package main
func main() {
    quit := make(chan bool) // chan 信号
    go func() {
        for {
            select {
            case <-quit:
                return
            default: // ...
            }
        }
    }()
    // ...
    quit <- true
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
微信搜索:上帝喜爱笨人
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!